python - 在脚本当前目录中从 Python 运行子进程 bash 脚本

标签 python shell directory subprocess

我希望在 python 脚本的子目录中运行 bash 脚本。该 bash 脚本应该执行其所有操作,就像在当前目录中一样。除了将目录作为参数传递并使用它来引导所有调用之外,还有什么方法可以做到这一点?

基本上,类似于

for i in range(1,100):
     subprocess.call(['/some%s/task.sh' % i, arg1])

其中脚本的内容与 some%s 目录内的文件一起使用。

最佳答案

subprocess.call 具有用于此的 cwd 关键字参数:

for i in xrange(1, 100):
    subprocess.call(["./task.sh", arg1], cwd=("/some%d" % i))

(仅隐式记录:“完整的函数签名与 Popen 构造函数的签名相同 - 该函数将所有提供的参数直接传递到该接口(interface)。”cwd 列于 Popen 。)

关于python - 在脚本当前目录中从 Python 运行子进程 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17366695/

相关文章:

Java - 跨平台桌面(?)保存

python - 谷歌应用引擎: empty property in datastore

python - Pycharm (Mac) 上的 Tensorflow 导入错误

shell - ksh 中管道命令行的退出状态

bash - 如何使用 sed 用\(space) 替换空格?

javascript - 如何仅使用 JSP 和 javascript 显示浏览文件夹窗口(不浏览文件)?

Python:设置 Numpy 矩阵的元素

python - python 中的子类化 : restricting the signature of child class functions

linux - Bash Shell 脚本 - 检查标志并获取其值

tomcat - 从配置文件创建war文件