在Python ftplib中使用上载文件名中的变量

在Python ftplib中使用上载文件名中的变量,python,ftp,ftplib,Python,Ftp,Ftplib,我正在将一个文件推送到我的FTP,我 file = open(home_path + '\\Desktop\\' + checkuser + ' Report.txt', 'rb') session.storbinary('STOR file.txt', file) 我相信这会复制我桌面上文件的内容,并在FTP上创建一个文件file.txt 我似乎无法在FTP上创建与桌面上相同的文件名 (或任何桌面/用户),类似 session.storbinary('STOR' + home_path +

我正在将一个文件推送到我的FTP,我

file = open(home_path + '\\Desktop\\' + checkuser + ' Report.txt', 'rb')
session.storbinary('STOR file.txt', file) 
我相信这会复制我桌面上文件的内容,并在FTP上创建一个文件
file.txt

我似乎无法在FTP上创建与桌面上相同的文件名 (或任何桌面/用户),类似

session.storbinary('STOR' + home_path + '\\Desktop\\' + checkuser + ' Report.txt', file)
有办法解决这个问题吗

*PS:跑步

sys.stdout = open(home_path + '\\Desktop\\' + checkuser + ' Report.txt', 'a')

工作正常,它创建了一个名为currentuser Report.txt的文件。

我不确定我是否理解您的问题。但也许你想这么做

session.storbinary('STOR ' + checkuser + ' Report.txt', file)
(假设
checkuser
值是文件名的一部分)


请注意
STOR
后面的空格(代码中缺少该空格)。

我不确定是否理解您的问题。但也许你想这么做

session.storbinary('STOR ' + checkuser + ' Report.txt', file)
(假设
checkuser
值是文件名的一部分)


并注意
STOR
后面的空格(代码中缺少该空格)。

可能首先创建所有文件夹-
mkdir
,并且可能需要使用/而不是\\如果在另一台机器上使用
home\u path
。您想将文件上载到哪里?@MartinPrikryl到我的在线托管服务器。为什么说不通呢?它获取C:\Users*currentuser*@furas文件夹。因此,您试图将文件存储在服务器上,作为
C:\Users\currentuser\Desktop\checkuser\Report.txt
–该路径在您的FTP服务器上是否有效?即使它是有效的,该路径是否可以通过FTP访问?如果您使用GUI FTP客户端登录,您可以导航到这样的路径吗?给我们看一个屏幕截图。也许首先创建所有文件夹-
mkdir
,也许您需要使用/而不是\\如果它是Linux服务器,那么在另一台机器上使用
home\u path
是没有意义的。您想将文件上载到哪里?@MartinPrikryl到我的在线托管服务器。为什么说不通呢?它获取C:\Users*currentuser*@furas文件夹。因此,您试图将文件存储在服务器上,作为
C:\Users\currentuser\Desktop\checkuser\Report.txt
–该路径在您的FTP服务器上是否有效?即使它是有效的,该路径是否可以通过FTP访问?如果您使用GUI FTP客户端登录,您可以导航到这样的路径吗?给我们看一个截图。