【发布时间】:2017-07-11 21:40:39
【问题描述】:
我还是 python 新手,我想创建一个可以根据命令行参数读取/写入/附加文本文件的程序。
这是我的代码:
导入系统
def prosesfile():
fileku=open(sys.argv[1],sys.argv[2])
if(sys.argv[2] == 'w'):
for i in range(5):
fileku.write(sys.argv[i+3]+'\n')
print('proses tulis file selesai.')
elif(sys.argv[2] == 'r'):
for i in fileku:
print(i)
print('proses baca selesai.')
elif(sys.argv[2] == 'a'):
for i in range(5):
fileku.write(sys.argv[i+3]+'\n')
print('proses append file selesai.')
prosesfile()
然后我尝试执行:
python3 program.py textfile.txt w word1 word2
然后我得到了一个错误:
File "program.py", line 14, in prosesfile
fileku.write(sys.argv[i+3]+'\n')
IndexError: 列表索引超出范围
会发生什么?我的代码有什么问题吗? 谢谢:)
【问题讨论】:
-
您在调用脚本时没有提供额外的 5 个参数。
标签: python python-2.7 python-3.x argv sys