Python sys.argv 超出范围,不明原因
我有一个脚本,已经用了一段时间,可以方便地把文件上传到我的服务器。这个脚本一直运行得很好,但在我新的台式电脑上却无法工作。
代码很简单:
import os.path
import sys
import os
from ftplib import FTP
host = ""
acc = ""
pw = ""
filepath = sys.argv[1]
if (not os.path.isfile(filepath)):
x = input("ERROR, invalid filepath")
exit()
filename = os.path.basename(filepath)
file_object = open(filepath, 'rb')
ftp = FTP(host)
ftp.login(acc, pw)
ftp.storbinary('STOR ' + filename, file_object)
ftp.quit()
file_object.close()
我这样运行它:
file_uploader.py backup.sql
但是我遇到了以下错误:
追踪记录(最近的调用在最前面):
文件 "C:\Users\Admin\Desktop\file_uploader.py",第 12 行,在
filepath = sys.argv[1]
IndexError: 列表索引超出范围
我不明白为什么会出现这个错误,明明我已经给脚本传了第一个命令行参数,但它却找不到。
我正在使用的是 64 位的 Windows 7,Python 版本是 2.7.2。
谢谢
2 个回答
1
试试这个:
\python27\python file_uploader.py backup.sql
5
你的 .py 文件在注册表中的关联设置不正确。它的结尾缺少了 %*
。