如何使用Pyhton 3.x在命令行中执行多个命令

Wang

谢谢大家。我正在编写脚本以在命令行中执行多个命令。这是我整个脚本的一部分。

我已经检查了很多答案,但是都没有解决我的问题。其中有些太旧而无法使用。

我的命令是这样的

cd C:/Users/Bruce/Desktop/test
set I_MPI_ROOT=C:\Program Files\firemodels\FDS6\bin\mpi
set PATH=%I_MPI_ROOT%;%PATH%
fds_local -o 1 -p 1 test.fds
python test.py

我试图用subprocess.run使用os.system等,但他们没有工作。我不知道发生了什么 这是我使用的示例。

file_path = "C:/Users/Bruce/Desktop/test"
cmd1 = 'cd ' + file_path
cmd2 = "set I_MPI_ROOT=C:/Program Files/firemodels/FDS6/bin/mpi"
cmd3 = "set PATH=%I_MPI_ROOT%;%PATH%"
nMPI = '-p {}'.format(1)
nOpenMP = '-o {}'.format(1)
cmd4 = "fds_local {} {} ".format(nMPI, nOpenMP) + file_name
cmd = '{} && {} && {} && {}'.format(cmd1, cmd2, cmd3, cmd4)
subprocess.Popen(cmd, shell=True)

我对子流程不太熟悉。但是我已经工作了一个星期来解决这个问题。这让我发疯。有什么建议?

王冰|

cmd必须是文本列表,就像您在shell上看到的用空格分隔的内容一样。例如,“ ls -l / var / www”应为cmd = ['ls','-l','/ var / www']

也就是说,最好用os.chdir完成cd。通过将环境字典提供给子流程调用,可以更好地完成设置。多行代码最好通过将几行代码放入shell脚本(可以接受参数)来完成,这样就不必弄乱python。

这是一个例子。如果命令不在操作系统的$ PATH中,则可以完全限定其路径

from subprocess import Popen
cmd=['cd',r'C:\Program Files (x86)\Notepad++','&&','notepad','LICENSE','&&',r'D:\Program\Tools\Putty.exe','-v']
d=Popen(cmd, shell=True)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在命令行上依次执行多个命令?

来自分类Dev

如何获得在命令行执行的命令?

来自分类Dev

无法使用codeigniter 3 mysql_init()错误执行命令行

来自分类Dev

.phar文件如何在命令行中执行

来自分类Dev

如何在命令行中执行Julia代码?

来自分类Dev

如何在Unix命令行中显示多个图像?

来自分类Dev

使用OptionParser解析Ruby中的多个命令行选项

来自分类Dev

Python 3-如何保留命令行参数中的“ \”作为原始字符串

来自分类Dev

nunit3如何在命令行中包含测试类别

来自分类Dev

如何在Cassandra CQL 3命令行中自动生成uuid

来自分类Dev

如何从 i3 中的命令行打开工作空间?

来自分类Dev

如何在 Java 应用程序中通过命令行扫描 S3 文件?

来自分类Dev

在rise4fun中,Z3使用什么命令行?

来自分类Dev

如何通过命令行添加ID3“封面”?

来自分类Dev

从命令行使用LWJGL 3

来自分类Dev

从命令行使用LWJGL 3

来自分类Dev

如何并行启动多个命令行

来自分类Dev

如何从python脚本打开cygwin,执行命令并从文件中的命令行获取数据

来自分类Dev

AWS:使用Elastic Beanstalk命令行界面(EB CLI)3.x的SSH到EC2

来自分类Dev

AWS:使用Elastic Beanstalk命令行界面(EB CLI)3.x的SSH到EC2

来自分类Dev

如何在一个命令行中运行多个带有&的命令?

来自分类Dev

我如何在命令行中少添加多个“ +”命令

来自分类Dev

如何在一个命令行中运行多个带有&的命令?

来自分类Dev

我如何在命令行中少添加多个“ +”命令

来自分类Dev

如何从命令行给ex多个命令?

来自分类Dev

如何使用Go在命令行上执行diff?

来自分类Dev

如何使用命令行执行Windows Store软件?

来自分类Dev

如何使用从命令行执行的 PHP 连接 mysql

来自分类Dev

sbt当多个可执行文件时如何传递命令行参数

Related 相关文章

  1. 1

    如何在命令行上依次执行多个命令?

  2. 2

    如何获得在命令行执行的命令?

  3. 3

    无法使用codeigniter 3 mysql_init()错误执行命令行

  4. 4

    .phar文件如何在命令行中执行

  5. 5

    如何在命令行中执行Julia代码?

  6. 6

    如何在Unix命令行中显示多个图像?

  7. 7

    使用OptionParser解析Ruby中的多个命令行选项

  8. 8

    Python 3-如何保留命令行参数中的“ \”作为原始字符串

  9. 9

    nunit3如何在命令行中包含测试类别

  10. 10

    如何在Cassandra CQL 3命令行中自动生成uuid

  11. 11

    如何从 i3 中的命令行打开工作空间?

  12. 12

    如何在 Java 应用程序中通过命令行扫描 S3 文件?

  13. 13

    在rise4fun中,Z3使用什么命令行?

  14. 14

    如何通过命令行添加ID3“封面”?

  15. 15

    从命令行使用LWJGL 3

  16. 16

    从命令行使用LWJGL 3

  17. 17

    如何并行启动多个命令行

  18. 18

    如何从python脚本打开cygwin,执行命令并从文件中的命令行获取数据

  19. 19

    AWS:使用Elastic Beanstalk命令行界面(EB CLI)3.x的SSH到EC2

  20. 20

    AWS:使用Elastic Beanstalk命令行界面(EB CLI)3.x的SSH到EC2

  21. 21

    如何在一个命令行中运行多个带有&的命令?

  22. 22

    我如何在命令行中少添加多个“ +”命令

  23. 23

    如何在一个命令行中运行多个带有&的命令?

  24. 24

    我如何在命令行中少添加多个“ +”命令

  25. 25

    如何从命令行给ex多个命令?

  26. 26

    如何使用Go在命令行上执行diff?

  27. 27

    如何使用命令行执行Windows Store软件?

  28. 28

    如何使用从命令行执行的 PHP 连接 mysql

  29. 29

    sbt当多个可执行文件时如何传递命令行参数

热门标签

归档