您正在寻找的是 sys 模块或 optparse 模块。
sys 将为您提供对命令行参数的非常基本的控制。
例如:
import sys
if __name__ == "__main__":
if len(sys.argv)>1:
print sys.argv[1]
在上面的示例中,如果您要打开 shell 并输入 -
test.exe "myname"
结果输出将是:
myname
请注意,sys.argv[0] 是您当前正在运行的脚本的名称。每个后续参数都由空格定义,因此在上面的示例中
test.exe -- myname
argv[0] = "test.exe"
argv[1] = "--"
argv[2] = "myname"
Optparse 提供了一个更强大的解决方案,允许您定义具有多个选项的命令行开关,并定义将存储可在运行时访问的适当选项的变量。
重写你的例子:
from optparse import OptionParser
def makeFile(options = None):
if options:
f = open('mytext.txt', 'w') #create text file in local dir
print >> f, 'hello, ' + options.name + '! \nHow are ya?'
f.close()
else:
f = open('mytext.txt', 'w') #create text file in local dir
print >> f, 'hello, person! \nHow are ya?'
f.close()
if __name__ == "__main__":
parser = OptionParser()
parser.add_option('-n','--name',dest = 'name',
help='username to be printed out')
(options,args) = parser.parse_args()
makeFile(options)
您可以使用以下命令运行您的程序:
test.exe -n myname
输出(在 myfile.txt 中)将是预期的:
Hello, myname!
How are ya?
希望有帮助!