我正在上传一个文件,然后我想移动它。上载部分工作,但移动尝试引发访问错误。为什么?我还尝试移动目录中已有的文件,但这会导致相同的错误。你知道吗
为了简化,我将文件“移动”到我成功写入的目录中。FTP设置允许读/写/执行帐户,使用Filezilla我也可以重命名文件。你知道吗
代码:
import ftplib
testfile = "D:\movethis.txt";
session = ftplib.FTP('<IP>', '<U>', '<P>');
session.cwd("XXX\TestPyUpload\upload");
print(session.pwd());
file = open(testfile, 'rb');
session.storbinary('STOR movethis.txt', file);
session.rename("XXX\TestPyUpload\upload\movethis.txt", "XXX\TestPyUpload\upload\movethis2.txt");
file.close();
session.quit();
您当前的工作目录现在是
XXX\TestPyUpload\upload
。你知道吗这会将文件
movethis.txt
保存到当前工作目录中,即路径为XXX\TestPyUpload\upload\movethis.txt
。你知道吗我们不知道
XXX
到底是什么。但如果它不是以\
开头,它就是一条相对路径。在本例中,rename
命令中的名称是相对于当前工作目录(XXX\TestPyUpload\upload
)进行解释的,即您将XXX\TestPyUpload\upload\XXX\TestPyUpload\upload\movethis.txt
重命名为XXX\TestPyUpload\upload\XXX\TestPyUpload\upload\movethis2.txt
。源目录和目标目录都不存在,这解释了服务器引发的错误。你知道吗这些名称也是相对于工作目录来解释的,也就是说,您按照最初的意图将
XXX\TestPyUpload\upload\movethis.txt
重命名为XXX\TestPyUpload\upload\\movethis2.txt
。你知道吗在本例中,您使用的是绝对文件名,因此它不考虑当前工作目录,从而避免了原来的问题。你知道吗
相关问题 更多 >
编程相关推荐