在Python中将命令行参数转换为标准输入

时间:2011-08-17 23:52:41

标签: python command

如何转换接受命令行参数的脚本才能通过标准用户输入接收参数?

目前我有一个文件并要处理它我需要运行python abc.py query 虽然我希望文件能够通过python abc.py运行,然后在下一行中它应该通过raw_input要求用户输入,并且应该将响应传递给参数(即'query')

1 个答案:

答案 0 :(得分:2)

如果不改变abc.py本身,就无法实现这一目标。

如果你可以改变abc.py,那么一个好的方法就是让它检查命令行参数,如果它不存在那么请求它......就像这样:

if __name__ == '__main__':
    if len(sys.argv) > 1:
        file_to_process = sys.argv[1]
    else:
        file_to_process = raw_input("Enter file to process: ").strip()