我有一组文件aaa_cntrl.txt
,bbb_cntrl.txt
,…zzz_cntrl.txt
。我想运行python脚本脚本.py并生成输出aaa_out.txt
、bbb_out.txt
、.zzz_out.txt
。你知道吗
我的python脚本是
import sys
file_in = sys.argv[0]
file_out = sys.argv[1]
print "This is the input file", file_in
print "This is the output file", file_out
命令行是python script.py aaa_cntrl.txt aaa_out.txt
但是我想自动将输入指定为*_cntrl.txt
,并将输出指定为*_out.txt
。
我该怎么做?你知道吗
我几天前刚刚用
argparse
做了这个。你知道吗然后,只要用
./myscript.py *_cntrl.txt
调用脚本,shell就会执行扩展,正如Willem Van Onsem在评论中指出的那样。您还可以查看
argparse.FileType
以改进此代码。你知道吗如果文件名格式良好,我建议您根据输入文件自动创建输出文件名。 我的意思是,如果
xxx_cntrl.txt
总是转换成xxx_out.txt
,你可以简单地做file_out = file_in.replace("cntrl", "out")
。你知道吗否则,你可以这样做
无论如何,我真的建议您使用
argparse
模块,而不是手动解析sys.argv
。你知道吗您需要循环所有输入文件并确定脚本中的输出名称,然后shell(至少在linux/unix上)将为您展开通配符。你知道吗
相关问题 更多 >
编程相关推荐