【发布时间】:2013-02-28 01:22:30
【问题描述】:
我正在编写一个网络文件系统,我开始尝试理解 python-fuse 提供的 xmp.py。
基本上我通过网络发送所有调用,在服务器端执行它并将结果发送给客户端并将其返回给用户。这些部件工作得很好。
我面临的问题是,xmp.py 无法创建文件,因此问题也出现在我的网络文件系统中。
我遵循的步骤是:
-
安装fuse-python:
sudo apt-get install python-fuse -
然后我进入
xmp.py所在的目录:cd /usr/share/doc/python-fuse/examples/ -
我使用以下命令行参数运行 xmp.py 程序
python xmp.py -o root=/home/user /tmp/fuse/home/user将被复制或挂载到/tmp/fuse的位置 -
然后我 cd 进入
/tmp/fuse目录并尝试使用cat创建一个文件,例如:cd /tmp/fuse cat > temp.txt我得到了错误
bash: temp.txt: Invalid argument
经过一番摸索,我相信这是功能的原因
def getattr(self, path):
return os.lstat("." + path)
当我执行cat > temp.txt 时,会调用os.lstat("./temp.txt") 并抛出错误,因为找不到文件/home/user/temp.txt。在此之后,程序会卡住一段时间并降低我的计算机速度。
请帮我弄清楚我做错了什么。
谢谢。
【问题讨论】:
标签: python filesystems fuse