2011-05-22 22 views
2

我有这段代码:我如何执行Python脚本命令行标志

of = open("oldfile") 
nf = open("newfile",'w') 
for line in of: 
    if len(line) > 17: 
      nf.write(line) 

of.close() 
nf.close() 

,而不是指定17,我希望能够用一个变量把它放在我的脚本目录并执行它直接。如果没有标志,它可以打印'scriptname'之类的东西。如果有下面的标志,它会执行代码。

$ myscriptname -l 17 oldfile newfile将对

+0

你的问题有点混乱。你可以使用环境变量,传递给脚本的命令行参数,从文件中读取参数... – khachik 2011-05-22 19:43:17

+0

@khachik你能告诉我你在想什么吗? – magnetar 2011-05-25 20:56:46

回答

4

见检查标志和设置值,或较新的(更好)argparse如果你愿意使用2.7+的optparse模块。至于把它放在我的脚本目录我不完全明白你想要什么。

+0

我在我的路径中有一个目录,我可以通过名称来调用shell脚本。我也将使用它作为脚本,作为我的命令行代码的一部分。 – magnetar 2011-05-25 20:53:53

3

如果你只是想快速和肮脏的访问命令行参数:

import sys 
print sys.argv # <-- this is an array containing all the command line parameters 

如果你想要更多的控制,你可以使用optparse module