我想检查共享文件夹fake-file.txt
上是否存在某个文件//123.456.7.890/Data/
,如果存在,我想将其删除并写入新文件real-file.txt
。我不想要使用paramiko模块执行此任务,并让它在这样的Windows机器上工作:
filename = '//123.456.7.890/Data/fake-file.txt'
if os.exists(filename):
os.remove(filename)
#and so on
但是,此方法不适用于基于unix的计算机(在本例中为CentOS)。我得到一个文件不存在的IOError。我对基于unix的机器并不熟悉,因此参考文件可能出现问题。我该如何解决这个问题?如果有什么不清楚,请告诉我!
PS。该文件夹受密码保护,我可以从终端
ssh到它答案 0 :(得分:1)
这不是一个Python问题。在Linux上,您可以通过将远程文件系统挂载到本地空目录(可能需要您没有的权限)来访问远程文件系统,然后通过该目录访问它们(然后称为挂载点)。像
这样的东西$ mkdir ./1234567890
$ mount -t cifs //123.456.7.890/Data -o username=username,password=password ./1234567890
如果成功,您在Python程序中使用的linux文件名将为./1234567890/fake-file.txt
。
某些Linux系统可能配置了自动挂载程序系统,以便特定的文件存储引用自动为您执行挂载。您需要与本地系统管理部门联系,以确定是否以及如何在本地实施。
PS 123.456.7.890不是有效的IP地址,但我假设您选择隐藏您实际使用的真实有效IP地址。 123.45.67.89对于"随机"是更好的选择。 IP地址,或192.168.22.33(随机私有IP)。