目前,我正在开发一些Jupyter笔记本,这些笔记本实际上并没有在我的本地机器(Windows)上运行,而是在外部托管(Linux)。
我无法直接访问Linux机器,但可以通过Python间接访问其文件系统。因此,对于我可以做什么(从外部机器加载文件,将文件保存到外部机器,加载包,打印数据等)没有实际限制。但我面临的问题是,如何将这个“虚拟”笔记本中的任何数据导出/提取到我的本地机器上?这主要用于后处理,如在Excel中绘图(或简单地将数据馈送到不同的应用程序中)。
对于小型/中型阵列,我可以print(...)
数据,然后复制它。但对于更大的数据集,是否有更优雅的解决方案?
如果您具有正确的权限,则可以启动Web服务器并从那里下载文件。
对于Python 2.7
import SimpleHTTPServer
import SocketServer
PORT = 44444
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "Serving at port", PORT
httpd.serve_forever()
对于Python 3:
import http.server
import socketserver
PORT = 44444
Handler = http.server.SimpleHTTPRequestHandler
httpd = socketserver.TCPServer(("", PORT), Handler)
print("serving at port", PORT)
httpd.serve_forever()
这将从笔记本当前所在的文件夹启动Web服务器。然后,您只需在www.example.com:44444浏览器中访问它即可