Mik*_*ike 13 python command-line arguments
我正在进行Google的Python练习,我需要能够从命令行执行此操作:
python babynames.py --summaryfile baby*.html
Run Code Online (Sandbox Code Playgroud)
pythonPython shell babynames.py是Python程序在哪里,是--summaryfile我的babynames程序要解释的参数,是baby*.html与该表达式匹配的文件列表.但是,它不起作用,我不确定问题是Windows命令shell还是Python.该baby*.html表达不被扩展出文件的完整列表,而不是它的严格字符串来传递.可以通过这种方式将多个文件传递给Python程序吗?
kin*_*all 13
Windows的命令解释器不会像UNIX shell那样扩展通配符,然后再将它们传递给已执行的程序或脚本.
python.exe -c "import sys; print sys.argv[1:]" *.txt
Run Code Online (Sandbox Code Playgroud)
结果:
['*.txt']
Run Code Online (Sandbox Code Playgroud)
解决方案:使用该glob模块.
from glob import glob
from sys import argv
for filename in glob(argv[1]):
print filename
Run Code Online (Sandbox Code Playgroud)
跨平台:
import glob
if '*' in sys.argv[-1]:
sys.argv[-1:] = glob.glob(sys.argv[-1])
continue...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9601 次 |
| 最近记录: |