使用Argv上传FTP文件

时间:2012-03-18 21:00:30

标签: python upload ftp

我收到一条消息“名称'ftp'未定义” 好像我可能也搞砸了其他东西。

import ftplib
from ftplib import FTP
from sys import argv
import os

filename = argv

ftp = FTP(ftp.server.com)
ftp.login(username, password)
ftp.storbinary('STOR %s', open('%s', 'rb')) (filename, filename)

2 个答案:

答案 0 :(得分:1)

sys.argv是一个列表。列表中的第一项是命令,下一项是给定的参数。你可能想要filename = argv [1]。

您需要为用户名和密码提供值才能使用。

答案 1 :(得分:1)

您对ftp.server.com的使用是非法的 - 您需要引用它。 Python认为“ftp”在那时是一个标识符,你试图将字段“服务器”拉出来,最后是字段“com”。由于您希望它是服务器名称字符串,请引用它。

此外,您错误地使用了sys.argv。 Argv是字符串列表,而不是单个字符串。您的文件名应为" ".join(argv[1:]),以便大致逐字捕获命令行。 (argv [0]是脚本本身。)