Python:访问存储在远程计算机上的文件



我正试图从python脚本访问/修改一个文件。现在,我有这个:

outfile = open("file.txt","a")
outfile.write("something")
outfile.write("something else")
outfile.close()

如果file.txt位于另一台计算机上,有什么方法可以访问它吗?

编辑:原来我可以将文本文件导入到本地计算机,所以问题解决了,我想!

是的,有.

  1. 使用SCP将远程文件临时下载到Python代码所在的本地计算机
  2. 修改它
  3. 使用SCP将修改后的文件上载到远程

步骤1:下载远程文件

scp -i ~/.ssh/the-ssh-key remoteusername@remote-ip:/remote-location/remote-file.txt /local-location/local-file.txt

第二步:修改文件后,将其上传到远程

scp /local-location/local-file.txt -i ~/.ssh/the-ssh-key remoteusername@remote-ip:/remote-location/remote-file.txt

然后,如果需要,可以删除临时本地文件。

如果您想在远程上创建一个新文件:

  1. 在Python所在的本地计算机中创建文件。

  2. 创建文件。

  3. 使用SCP将创建的文件上载到远程。

    scp/local-location/local-file.txt-i~/.ssh/ssh密钥remoteusername@remote-ip:/remote-location/remote-file.txt

如果您想使用密码而不是ssh密钥访问远程,或者想了解有关SCP使用的更多信息,您可以按照以下说明操作:

https://linuxize.com/post/how-to-use-scp-command-to-securely-transfer-files/

替代方法

您可以更喜欢python中的子流程,而不是使用纯SCP命令。

import subprocess
subprocess.run(["scp", FILE, "USER@SERVER:PATH"])
#e.g. subprocess.run(["scp", "foo.bar", "joe@srvr.net:/path/to/foo.bar"])

来源:https://stackoverflow.com/a/68365/15529570

相关内容

  • 没有找到相关文章