有没有办法写入位于另一台服务器上的文件?
我可以访问具有大量资源(CPU,GPU,RAM等)的强大服务器来执行复杂的python代码,但存储量非常有限(小于1GB)。另一方面,我在没有计算资源的情况下在另一台服务器上拥有无限的存储空间。
我需要一种方法将python代码的结果写入一个服务器,另一个服务器。如下所示:
f = open('www.example.com/data.txt')
f.write(pythoncode.results)
我知道我可以使用liburl读取远程文件:
import urllib3
http = urllib3.PoolManager()
r = http.request('GET', 'www.example.com/data.txt')
r.data
所以我正在寻找类似于写作而不是阅读的东西。
(我可以给远程文件写入权限,虽然我知道这通常不是一个好主意。)
提前谢谢。
答案 0 :(得分:1)
您需要使用某种协议通过网络进行通信并编写文件。您已经提供了一个使用HTTP协议从服务器GET
文件(或资源)的示例。 (HTTP还提供PUT
和POST
方法来创建和更新服务器上的资源,但需要设置服务器以将资源与文件相关联。)
为此目的存在的更自然的替代方案是SSH文件传输协议(SFTP)。你可以在这里找到关于如何在Python中使用它的介绍:
http://www.pythonforbeginners.com/modules-in-python/python-secure-ftp-module
修改
另一种方法是执行操作系统级文件系统网络,以将远程目录安装到本地文件系统中。然后,您可以从脚本中打开并写入文件,就好像它们是本地文件一样。
如果您使用的是Linux,可以在此处找到NFS简介: