2012-07-12 39 views

回答

3
import sys 
data = [line.strip() for line in open(sys.argv[1], "rb")] 

无需.readlines(),顺便说一句。

1

看看argparse模块。它使用起来相当简单,甚至可以直接从命令行参数中提供和打开文件。

2

要从命令行将参数传递给脚本,您希望使用sys.argvfileinput

sys.argv中

传递给一个Python脚本命令行参数的清单。 argv [0] 是脚本名称(操作系统依赖于它是否是 完整路径名)。如果使用-c 命令行选项向解释器执行该命令,argv [0]将被设置为字符串 '-c'。如果没有脚本名称传递给Python解释器,argv [0] 是空字符串。

的FileInput:

import fileinput 
for line in fileinput.input(): 
    process(line) 

此迭代中sys.argv中列出的所有文件的行[1:], 默认为sys.stdin如果列表是空的。如果文件名是' - ',那么 也会被sys.stdin取代。要指定 文件名的替代列表,请将其作为input()的第一个参数传递。单个文件 名称也是允许的。

相关问题