如何使用python将文件上载到远程服务器

如何使用python将文件上载到远程服务器,python,wsgi,Python,Wsgi,我需要使用python-wsgi将文件上传到远程位置。 远程位置意味着不是托管python应用程序的服务器,而是不同的服务器 我尝试将一个文件上载到服务器,该服务器正好是应用程序主机。这是成功的 使用以下代码 post = cgi.FieldStorage(fp=environ['wsgi.input'],environ=environ,keep_blank_values=True) self.msg = str(post)

我需要使用python-wsgi将文件上传到远程位置。 远程位置意味着不是托管python应用程序的服务器,而是不同的服务器

我尝试将一个文件上载到服务器,该服务器正好是应用程序主机。这是成功的

使用以下代码

            post = cgi.FieldStorage(fp=environ['wsgi.input'],environ=environ,keep_blank_values=True)
        self.msg = str(post)            

        try:
            fileitem = post['Filedata']
            if fileitem.file:
                filename = fileitem.filename.decode('utf8').replace('\\','/').split('/')[-1].strip()
                if not filename:
                    raise Exception('No valid filename specified')
                file_path = os.path.join(self.uploadpath, filename)
                # Using with makes Python automatically close the file for you
                counter = 0
                with open(file_path, 'wb') as output_file:
                    while 1:
                        data = fileitem.file.read(1024)
                        # End of file
                        if not data:
                            break
                        output_file.write(data)
                        counter += 1
                        if counter == 100:
                            counter = 0
            self.msg = "Uploaded Successfully !!!! "
        except:
            pass
但这是针对python应用程序承载的本地位置的。 我搜索了Google如何用python将文件上传到远程位置。 但我找不到合适的解决办法。有些建议从python代码中执行scp

更多


假设有两个名为A和B的服务器。我的用于文件上载的python wsgi应用程序托管在服务器A上。在python wsgi应用程序中,有一个web表单,当用户单击上载时,用户可以选择文件,然后该文件需要上载到服务器B(已知位置)

有人知道使用python将文件上传到远程位置的方法或库吗


提前感谢。

文件上载通常使用enctype=multipart/form data作为HTTP POST操作实现

在Python中,为了方便起见,可以使用请求模块


除此之外:你的问题很糟糕。

对于HTTP,如果服务器端没有足够的副本,你就没有机会将文件放在服务器上,例如,Python/Perl/PHP/Ruby/任何脚本,它接收你在HTTP POST请求中提供的数据并将它们写入文件。我建议设置一个FTP服务器。这正是FTP发明的目的


通常,大多数HTTP服务器也有FTP。如何将HTML文件放在服务器上?FTP是这样做所需的最小访问权限。安装起来真的不难。

我需要一匹小马。提前谢谢。你在问什么?我需要使用python.SO将文件上传到远程位置,以便回答特定问题;你没有问任何问题,只是说你需要做点什么。我不会为你写代码的。如果您尝试过,但它不起作用,那么我们也许可以帮助您解决这个问题。它是什么类型的服务器?HTTP?FTP?您在那里有root权限吗?你能安装所需的服务/服务器/任何东西吗?您想在那里放置另一个Python脚本吗?它和HTTP服务器。是的,您有root权限。不,我不想再放一个python脚本,还有一种方法是不在目标服务器上安装任何服务。谢谢。非常感谢您的回复。但我需要上传到一个远程位置,而不是应用程序所在的服务器。如果没有进一步的反馈,你的要求毫无意义。花点时间问一些对我们有意义的问题(或者顺其自然)。假设有两台服务器,分别称为A和B。我的用于文件上传的python应用程序托管在服务器A上。在python wsgi应用程序中,有一个web表单,当用户单击上传时,用户可以选择文件,然后该文件需要上传到服务器B(已知位置).你根本不知道你在问什么。谢谢你。我想这会解决我的问题。我在python中找到了FTP的ftplib。这正是我要做的。祝你好运