来自文件的python脚本命令行参数

bvr*_*bvr 4 python python-2.7 python-3.x

的test.txt

port = 1234

host = abc.com
Run Code Online (Sandbox Code Playgroud)

test.py

port = sys.argv[1]

host = sys.argv[2]
Run Code Online (Sandbox Code Playgroud)

我想提供test.txt作为python脚本的输入:

python test.py test.txt
Run Code Online (Sandbox Code Playgroud)

因此,文本文件中的端口和主机值应作为命令行参数传递给python脚本,这些参数将被传递到脚本中的端口和主机.

如果我做 :

python test.py 1234 abc.com

参数传递给sys.argv [1]和sys.argv [2]

同样我想用txt文件读取来实现.

谢谢.

Igo*_*ist 7

给定一个test.txt带有节头的文件:

[settings]
port = 1234
host = abc.com
Run Code Online (Sandbox Code Playgroud)

您可以使用ConfigParser库来获取主机和端口内容:

import sys
import ConfigParser

if __name__ == '__main__':
    config = ConfigParser.ConfigParser()
    config.read(sys.argv[1])
    print config['settings']['host']
    print config['settings']['port']
Run Code Online (Sandbox Code Playgroud)

在Python 3中,它被称为configparser(小写).