Python 3.x 如何将文件从python上传到HPC集群?

Python 3.x 如何将文件从python上传到HPC集群?,python-3.x,Python 3.x,我想将文件/文件夹上载到HPC群集 我已尝试使用subprocess.Popen: subprocess.Popen(['scp filename.py HPC_address'] 但我得到了以下错误: FileNotFoundError:[WinError 2]系统找不到指定的文件 编辑: 我正在运行的代码行是: 导入子流程 proc=子流程.run([“scp”、“simplepluto_vel.hdf5”、“HPC地址”]) 在控制台上运行时,我收到文件未找到错误。运行脚本时

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

我已尝试使用subprocess.Popen:


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

但我得到了以下错误:

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

编辑:

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

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


我删除了import scp,之前添加了它,因为我认为它可能会有所帮助。首先,您的命令应该是一个单独的参数列表

proc = subprocess.run(["scp", "filename.py", "192.168.1.1:"])
我使用run是因为在文档中推荐它胜过Popen


FileNotFound错误是由于找不到程序造成的。当您传递一个包含多个项目的字符串时,它将找不到正确的程序“scp”,但是如果您有一个包含所有参数的列表,那么scp将找不到,可能没有安装。

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

proc = subprocess.run(["scp", "filename.py", "192.168.1.1:"])
我使用run是因为在文档中推荐它胜过Popen


FileNotFound错误是由于找不到程序造成的。当您传递一个包含许多项的字符串时,它将找不到正确的程序“scp”,但是如果您有一个包含所有参数的列表,那么就找不到scp,可能它没有安装。

您使用的是哪种python?另外,运行此程序时,文件是否在当前工作目录中?我使用的是python 3.7.3,是的,我在CWD中,您使用的是哪种python?另外,运行此文件时,文件是否在当前工作目录中?我正在使用python 3.7.3,是的,我正在CWD中获取文件NotFoundError您如何运行文件?该命令是否从命令行工作?我怀疑错误实际上是找不到scp,因为当文件丢失时,scp返回不同的错误。我已经尝试从控制台和脚本本身运行。我已导入scp。@yonatan当您尝试从控制台运行它时,结果如何?为什么要导入scp?这与使用子进程调用名为“scp”的外部程序不同。你能用你当前使用的代码更新你的问题吗?仍然得到文件NotFoundError你是如何运行文件的?该命令是否从命令行工作?我怀疑错误实际上是找不到scp,因为当文件丢失时,scp返回不同的错误。我已经尝试从控制台和脚本本身运行。我已导入scp。@yonatan当您尝试从控制台运行它时,结果如何?为什么要导入scp?这与使用子进程调用名为“scp”的外部程序不同。你能用你当前使用的代码更新你的问题吗?