我已经搜索了如何使用Python通过ftp上传csv文件。我尝试了这段代码:
from ftplib import FTP
ftp = FTP("host")
ftp.login("user","password")
Output_Directory = "//ftp//data//"
File2Send="C://Test//test.csv"
file = open(File2Send, "rb")
ftp.cwd(Output_Directory)
ftp.storbinary('STOR ' + File2Send, file)
and that's what I got as an error。我认为我无法正确编写ftp.storbinary函数。 谁能告诉我如何使其正确?
谢谢
答案 0 :(得分:1)
您不应该将斜杠//
加倍。惯例是将反斜杠\\
加倍,因为它们是特殊的转义符。但是正斜杠是正常的。
另外,在使用ftp STOR
命令时,您已经在目标目录中,因此您必须仅发送所需的文件名,而不是像执行操作那样发送完整的本地路径。
Output_Directory = "/ftp/data/"
File2Send="C:/Test/test.csv"
ftp.cwd(Output_Directory)
with open(File2Send, "rb") as f:
ftp.storbinary('STOR ' + os.path.basename(File2Send), f)