我正在编写一个网络文件系统,我首先尝试理解 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
在此之后,该程序会卡住一段时间并减慢我的计算机速度。
请帮我弄清楚我做错了什么。
谢谢。