您好有办法加载文件本身,而是从命令行替换文件加载到与在python命令行/壳版本的列表是
,所以我可以输入python test.py data.txt中
代替
data = [line.strip() for line in open("/home/user/data.txt", "rb").readlines()]
您好有办法加载文件本身,而是从命令行替换文件加载到与在python命令行/壳版本的列表是
,所以我可以输入python test.py data.txt中
代替
data = [line.strip() for line in open("/home/user/data.txt", "rb").readlines()]
import sys
data = [line.strip() for line in open(sys.argv[1], "rb")]
无需.readlines()
,顺便说一句。
看看argparse模块。它使用起来相当简单,甚至可以直接从命令行参数中提供和打开文件。
要从命令行将参数传递给脚本,您希望使用sys.argv或fileinput。
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()的第一个参数传递。单个文件 名称也是允许的。