【问题标题】:How to upload a file from python to HPC cluster?如何将文件从 python 上传到 HPC 集群?
【发布时间】:2019-12-23 19:39:40
【问题描述】:

我想将文件/文件夹上传到 HPC 集群

我尝试过使用 subprocess.Popen:


    subprocess.Popen(['scp filename.py HPC_address']

但我收到以下错误:

FileNotFoundError: [WinError 2] 系统找不到指定的文件

编辑:

我正在运行的代码行是: 导入子流程 proc=subprocess.run(["scp", "simplepluto_vel.hdf5", "HPC 地址"])

在控制台上运行时,我收到文件未找到错误。通过脚本运行时,错误是: AttributeError: 'list' 对象没有属性 'read'

我已经删除了 import scp,我之前添加了它,因为我认为它可能会有所帮助

【问题讨论】:

  • 你用的是哪个python?另外,运行时文件是否在当前工作目录中?
  • 我使用的是 python 3.7.3
  • 是的,我在 cwd 中

标签: python-3.x


【解决方案1】:

首先,您的命令应该是一个单独的参数列表。

proc = subprocess.run(["scp", "filename.py", "192.168.1.1:"])

我使用 run 是因为在文档中推荐它而不是 Popen。

FileNotFound 错误是由于没有找到程序引起的。当您传递包含许多项目的单个字符串时,它将找不到正确的程序 'scp',但如果您有一个包含所有参数的列表,则 scp 未找到,可能没有安装。

【讨论】:

  • 仍然收到 FileNotFoundError
  • 你是如何运行文件的?该命令是否从命令行工作?我怀疑这个错误实际上是 scp is not being found 因为当文件丢失时 scp 返回一个不同的错误。
  • 我已经尝试从控制台和脚本本身运行。我已经导入了 scp。
  • @yonatan 当您尝试从控制台运行它时,结果是什么?为什么要导入 scp?这与使用 subprocess 调用名为“scp”的外部程序不同。你能用你当前使用的代码更新你的问题吗?
猜你喜欢
  • 1970-01-01
  • 2015-01-07
  • 2016-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多