【发布时间】:2015-04-28 12:36:37
【问题描述】:
我写了一个脚本来读取python中的文本文件。
这里是代码。
parser = argparse.ArgumentParser(description='script')
parser.add_argument('-in', required=True, help='input file',
type=argparse.FileType('r'))
parser.add_argument('-out', required=True, help='outputfile',
type=argparse.FileType('w'))
args = parser.parse_args()
try:
reader = csv.reader(args.in)
for row in reader:
print "good"
except csv.Error as e:
sys.exit('file %s, line %d: %s' % (args.in, reader.line_num, e))
for ln in args.in:
a, b = ln.rstrip().split(':')
我想检查文件是否存在并且不是空文件,但是这段代码给了我一个错误。
我还想检查程序是否可以写入输出文件。
命令:
python script.py -in file1.txt -out file2.txt
错误:
good
Traceback (most recent call last):
File "scritp.py", line 80, in <module>
first_cluster = clusters[0]
IndexError: list index out of range
【问题讨论】:
-
该代码甚至无法解析,
in不是有效标识符(在args.in中) -
first_cluster = clusters[0]出现在您的代码中的什么位置? -
脚本出错,因为 FOR 循环失败。当它开始读取文件时,它无法从 args.in 读取文件。如何使用参数解析器读取文件?
标签: python python-3.x filepath