python - 如何使用 python 子进程命令在不同目录中运行 shell 命令?
问题描述
我正在尝试执行一个 shell 命令,例如与我的 python 脚本不同的目录中的“ls”。我在直接从子进程中的 python 代码更改目录时遇到问题。
解决方案
这些subprocess
方法都接受cwd
关键字参数。
import subprocess
d = subprocess.check_output(
['ls'], cwd='/home/you/Desktop')
显然,替换/home/you/Desktop
为您想要的实际目录。
大多数编写良好的 shell 命令不需要您在任何特定目录中运行它们,但如果这是您想要的,那么您就是这样做的。
如果这不能解决您的问题,请更新您的问题以包含与您预期不同的实际代码。
(当然,子进程是获取目录列表ls
的一种非常糟糕的方法,如果您真的想使用子进程,那么获取目录列表的方法也非常糟糕。os.listdir('/home/you/Desktop')
如果这就是您真正想要的,可能会尝试。但我猜测您只是提供ls
外部命令的示例。)
推荐阅读
- firebase - “String”类型的值没有成员“uid”
- angular - 如何设置角材料扩展面板的宽度以适合网格图块
- python - 用python读取复杂的html表
- mysql - Best use of database for storing large scientific data sets
- xamarin - 自定义渲染器中的 e.OldElement 和 e.NewElement
- google-analytics - 如何使用 userDeletionRequests:upsert 从 Firebase 中删除用户分析数据?
- postgresql - SELECT 使用新的 CREATE PROCEDURE 方法
- javascript - Vue 组件作为另一个组件的子组件
- ios - UIStackView 图层属性
- jquery - 如何设置更改的值?