我最近查看了 Python 的虚拟文件系统模块 (http://packages.python.org/fs/),并遇到了一个关于如何正确使用它的快速问题。
我使用以下几行创建了自己的 FTP 虚拟文件系统:
from fs.ftpfs import FTPFS
FTP = FTPFS(host='127.0.0.1', user='test1', passwd='test1', acct='', timeout=60, port=21, dircache=True)
简单吧?
现在我的问题是如何在这个文件系统中读取另一个 python 脚本?例如,我使用的是 PyWebDav,默认目录设置为“C:\WebDir”。如何将其设置为查看我刚刚创建的虚拟文件系统?
任何帮助表示赞赏,谢谢!
编辑:
我试图把它作为 pyWebDav 的“目录”:
from fs.ftpfs import FTPFS
ftpServer = FTPFS(host='127.0.0.1', user='test1', passwd='test1', acct='', timeout=60, port=21, dircache=True)
ftpServer = ftpServer.listdir(path='./', wildcard=None, full=True, absolute=True, dirs_only=False, files_only=False)
directory = ftpServer
刚运行后,我收到此错误:
Traceback (most recent call last):
File "C:\Users\Dustin\Documents\ftpmirror\test.py", line 4, in <module>
server.run()
File "C:\Python27\lib\site-packages\pywebdav-0.9.4.1-py2.7.egg\DAVServer\server.py", line 369, in run
handler=handler)
File "C:\Python27\lib\site-packages\pywebdav-0.9.4.1-py2.7.egg\DAVServer\server.py", line 75, in runserver
if not os.path.isdir(directory):
File "C:\Python27\lib\genericpath.py", line 41, in isdir
st = os.stat(s)
TypeError: coercing to Unicode: need string or buffer, list found
只是想我会展示一些关于我想如何使用虚拟文件系统的例子,希望能让事情变得更容易。再次感谢!