使用 subprocess.run 在 Windows 上运行进程

2024-01-06

我希望通过 Python 运行以下非常冗长的 shell 命令:

C:/Users/Alex/Desktop/tableexporter/WGTableExporter.exe "E:/Steam (Games Installed Directly to Hard Drive)/steamapps/common/Wargame Red Dragon/Data/WARGAME/PC/430000626/NDF_Win.dat" pc\ndf\patchable\gfx\everything.ndfbin TAmmunition

当我从 Windows shell 中按原样运行此程序时,它按预期工作。

然而,当我尝试通过 Python 做同样的事情时subprocess.run,它不喜欢它。这是我的输入:

import subprocess
comm = [r'C:/Users/Alex/Desktop/tableexporter/WGTableExporter.exe "E:/Steam (Games Installed Directly to Hard Drive)/steamapps/common/Wargame Red Dragon/Data/WARGAME/PC/430000626/NDF_Win.dat" pc\ndf\patchable\gfx\everything.ndfbin TAmmunition']
subprocess.run(comm, shell=True)

这是我的输出:

The directory name is invalid.
Out[5]: CompletedProcess(args=['C:/Users/Alex/Desktop/tableexporter/WGTableExporter.exe "E:/Steam (Games Installed Directly to Hard Drive)/steamapps/common/Wargame Red Dragon/Data/WARGAME/PC/430000626/NDF_Win.dat" pc\\ndf\\patchable\\gfx\\everything.ndfbin TAmmunition'], returncode=1)

为什么会出现这种情况?


间距不对。子进程需要一个参数列表,它将为您正确地分隔开。

comm = ['C:/Users/Alex/Desktop/tableexporter/WGTableExporter.exe','E:/Steam (Games Installed Directly to Hard Drive)/steamapps/common/Wargame Red Dragon/Data/WARGAME/PC/430000626/NDF_Win.dat','pc\ndf\patchable\gfx\everything.ndfbin','TAmmunition']

您收到错误的原因是因为 a:/steam... 周围有双引号 它正在向 shell 写入这样的内容:

c:/users/alex/desktop/tableexporter/wgtableexporter.exe \"E:/Steam (Games Installed Directly to Hard Drive)/steamapps/common/Wargame Red Dragon/Data/WARGAME/PC/430000626/NDF_Win.dat\" pc\ndf\patchable\gfx\everything.ndfbin TAmmunition
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 subprocess.run 在 Windows 上运行进程 的相关文章

随机推荐

  • 使用 Open XML sdk 检索内容控件时出现问题

    我正在开发一个可以生成Word文档的解决方案 Word文档是根据已定义内容控件的模板文档生成的 当我的模板中只有一个内容控件时 一切都很顺利 但在使用更多内容控件扩展模板文档后 我遇到了异常 我似乎没有找到内容控件 这是我的方法 priva
  • UIWebView PaginationMode总是显示白色背景,如何使其透明?

    我尝试使用 paginationMode 为 iOS 7 进行 html 内容分页 set webview to transparent webView backgroundColor UIColor clearColor webView
  • 使用 Python 模块 SMBus、Raspberry Pi 和 Arduino 时出现输入/输出错误

    我已经连接了一个树莓派 http en wikipedia org wiki Raspberry Pi and 彩虹杜伊诺 http en wikipedia org wiki List of Arduino boards and comp
  • 如何从命令行获取最新的 Visual Studio 解决方案?

    如何以递归方式获取解决方案的最新版本 就像在 Visual Studio 的解决方案资源管理器上下文菜单中完成的那样 我想从命令行或通过宏来执行此操作 我正在尝试使用一组批处理文件来自动化部分日常工作 我相信很多开发人员都希望拥有这样的东西
  • JSF h:outputStylesheet 转换器 - 动态 css?

    我刚刚注意到
  • 是否可以在没有 qmake 的情况下使用 Qt Creator?

    我听说可以使用 Qt Creator 构建非 Qt 应用程序 例如简单的 C HelloWorld 我下载并安装了 Qt Creator 并尝试用它编译简单的代码 但我没有成功 Creator 需要 qmake 来创建 makefile 虽
  • Docker 仅向主机公开端口

    docker 是否能够仅向主机公开端口而不向外部公开端口 我需要让 docker 与 mongo 数据库一起运行 并且我希望它只能从主机访问 但我需要链接主机端口 27017 这可能吗 或者唯一可能的方法是更改 防火墙定义 当然可以 只需将
  • 在标签android中添加片段的最佳方法是什么

    我的应用程序有一个底部导航栏 其中有 5 个选项卡 所以根据这些选项卡 我有 5 个片段 当我单击选项卡时 片段会根据该选项卡发生变化 我可以使用方法 beginTransaction replace 来切换片段 我不希望每次切换选项卡时都
  • django 管理页面和 JWT

    我们使用 django rest framework 和 django rest framework jwt 进行身份验证 它可以在除 django 管理页面之外的任何地方使用ip port admin 那仍然需要用户名和密码 是否有设置或
  • Maven 测试无法使用 Spring Boot 2.2 和 JUnit 5 运行 Cucumber 场景

    我正在 Spring Boot 2 2 6 上尝试 JUnit 5 和 Cucumber 并且在我的应用程序中需要 BDD 场景和单元测试 我已经创建了一个虚拟 ping 控制器对应的功能文件 一切正常 我运行时不会调用黄瓜测试mvn cl
  • Ruby 奇怪的错误

    每当我需要 ruby 或 irb 中的文件时 我都会收到此错误 LoadError no such file to load insert any filename rb from
  • 隐藏特定表的第 n 个子级

    我在一页上有两个表格 我该如何解决第二个问题 id tapp 运行显示 隐藏第 n 个子函数 我无知地尝试通过将 id 引用添加到开头来解决特定的表 td nth child var x document getElementById ta
  • 通过 PHP 从内容配置中提取文件名

    我需要一个正则表达式从以下字符串中提取文件名 包括文件扩展名 attachment filename UTF 8 test rar 或者像这样 attachment filename UTF 8 Epost 20 test part01 r
  • Apollo / GraphQl - 类型必须是输入类型

    向大家致以我正在学习的过程 并将 Apollo 和 graphQL 集成到我的一个项目中 到目前为止一切顺利 但现在我正在尝试进行一些突变 并且在输入类型和查询类型方面遇到了困难 我觉得事情比应有的复杂得多 因此我正在寻求有关如何处理我的情
  • 用宏连接字符串[重复]

    这个问题在这里已经有答案了 可能的重复 C语言中连接两个字符串的宏 https stackoverflow com questions 2191316 macro for concatenating two strings in c 如何用
  • MSAccess 2010 VBA 打开只读数据库

    我有一个 MS Access 数据库 我试图将存档数据从位于只读文件夹中的另一个 MS Access 数据库中提取出来 所以 Dim aidbx As DAO Database Dim stDB as STring stDB path to
  • Java / JPA 程序员的 Oracle 将空字符串视为 NULL 问题

    如何处理 Oracle 在数据库中将空字符串存储为 null 的情况 我希望它存储为空字符串 因为它不是 NULL 因为发出查询会更容易 像这样的事情会选择空字符串和非空字符串 但不会选择空值 select from mytable whe
  • 如何读取gcs存储桶中的文件内容

    我想打印 GCS 存储桶中文件中存在的数据 根据我的要求 文件不应下载到本地系统 但代码应直接从 gcs 存储桶本身读取代码 由于我的文件大小很大 我不希望将文件下载到本地系统 下面是我正在尝试的代码 但我没有得到预期的输出 import
  • 来自 CMake 的 Nuget 包

    我正在使用 CMake 生成 C WPF 项目 我遵循了这个 CMakeLists txtexample https github com bemehiser cmake csharp wpf example blob master Exa
  • 使用 subprocess.run 在 Windows 上运行进程

    我希望通过 Python 运行以下非常冗长的 shell 命令 C Users Alex Desktop tableexporter WGTableExporter exe E Steam Games Installed Directly