我有一段脚本,我已经使用了一段时间轻松上传文件到我的服务器。它一直在努力工作很长一段时间,但我无法在我的新台式计算机上运行它。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
我收到以下错误:
Traceback (most recent call last):
File "C:\Users\Admin\Desktop\file_uploader.py", line 12, in
filepath = sys.argv[1]
IndexError: list index out of range
我不知道为什么它给我即使我将一个脚本传递给脚本,也无法找到第一个命令行参数。
我运行Windows 7与Python的64位2.7.2
感谢
你能打印出'sys.argv'并将结果添加到你的问题。 – NPE
你如何运行脚本?你是从Windows控制台(Cmd.exe)运行它吗?从Cygwin bash?批处理文件?还有别的吗? –