python访问共享文件夹 exist false_python os.path.exists()对于存在的nfs挂载目录文件失败...

我基本上有一个网站的网站服务器,另一个只存储文件.文件服务器通过挂载其中一个目录连接到主文件服务器.该网站运行Django所以我主要处理

python.无论如何,我似乎遇到了一些问题,即文件被报告为不存在,即使它们实际存在.

基本上当我打电话时

filepath = '/path/to/file/on/nfs/share'

exists = os.path.exists(filepath)

即使文件实际存在,exists仍然是假的,我知道它确实存在,因为我将时间戳打印到日志文件中,该日志文件准确显示它的创建时间.我不确定会出现什么问题,但我知道os.path.exists的文档说

On some platforms, this function may return False if permission is not granted to execute os.stat() on the requested file, even if the path physically exists.

我知道情况并非如此,因为这两个文件共享相同的组和组号,它们在两台服务器上共享相同的组号.它可能是一个陈旧的缓存或类似的东西?

我的安装是通过fstab自动完成的.

Client side, the settings are:

filehost:/filefolder /localfolder nfs defaults,rsize=32768,wsize=32768

Server side, the settings are:

/filefolder webserver(rw,sync,no_root_squash,no_subtree_check)

编辑:

所以,我想更多的信息/细节.我正在运行一个Python子进程,在远程目录中生成一个文件.发出请求时,它会启动子进程并返回文件的预期位置.

在前端,有一个被ping的url,它调用该文件的os.path.exists(),然后当它执行时,资源通过ajax加载.

可疑的问题是,有时这个pinger会报告文件在实际存在后几秒钟内不可用.这也是我认为这可能是一个过时缓存问题的原因.

所有文件及其中的目录都是所有者/组www-data,以及由django实例化的任何子进程.此问题似乎也不完全可重复.有时它会很快工作,而其他人则会比预期的时间长几秒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值