如何让我的python脚本接受多个位置参数?

时间:2015-01-24 22:36:45

标签: python

假设我希望我的python程序接受2个位置参数: 1.输入文件的路径 2.单词字典的路径,也是一个txt文件。

任何人都可以教我如何去做吗?

2 个答案:

答案 0 :(得分:1)

import sys

print('Name of the script: {0}'.format(sys.argv[0]))

if len(sys.argv) == 3:
    inputfile_path = sys.argv[1]
    dictionary_path = sys.argv[2]
    print('First parameter: {0}'.format(inputfile_path))
    print('Second parameter: {0}'.format(dictionary_path))

https://docs.python.org/2/library/sys.html

答案 1 :(得分:1)

你的问题有点模糊,所以我只想回答我认为你的意思。

我假设你有这样的功能:

def function(string1, string2):
''' string 1 and string2 are paths to an input file and a dictionary respectively'''

现在通常要读取您使用的文件:

file1 = open(string1,'r')
# After opening the file you loop over lines to do what you need to. 
for line in file:
    # Do what you need to

我不确定你想要对输入文件做什么,所以我将把它留在那里。

要从字符串加载字典,我们使用eval()函数。它实际上运行一个字符串。现在,作为文本文件存储的字典中的每一行都是一个字符串,所以你要做的就是遍历整个文件(使用之前的for line in file方法)并运行eval以获取字典。

例如,尝试这个简单的代码:

#assume string2 is what you get back from the looping
string2 = str({'jack': 4098, 'sape': 4139})

dic = eval(string2)

print dic

希望我已经指出了你正确的方向。由于我不确定你究竟需要做什么,所以我无法真正帮助你。