将文件路径从Python传递到Shell脚本

问题描述 投票:2回答:2

我想在Linux中从Python 3运行shell脚本,传递两个参数,这些参数包含指向两个不同文件的文件路径。然后,shell脚本调用用Python 2编写的程序。

在Python 3中,我这样称呼shell脚本:

import os
import sys    
os.chmod('/path/to/sh', 0o777)
subprocess.call(['/path/to/sh', '/path/to/file1', '/path/to/file2'], shell=True)

我的shell脚本看起来像这样:

#!/bin/sh
set -x
path1=$1
path2=$2
python2 path/to/programme "$path1" "$path2"

现在文件路径为空,并且shell脚本返回类似python2 path/to/programme '' ''的内容。有人知道我如何正确传递文件路径,以便用Python 2编写的程序可以读取它们吗?

或者还有更简单的解决方案,例如使用子过程直接调用用Python 2编写的程序吗?

我想在Linux中从Python 3运行shell脚本,传递两个参数,这些参数包含指向两个不同文件的文件路径。然后,shell脚本调用用Python 2编写的程序。在Python中...

python subprocess arguments sh filepath
2个回答
2
投票

不需要shell脚本。您可以使用subprocess直接运行python2


0
投票

[shell=True仅在您执行类似操作时才需要

© www.soinside.com 2019 - 2024. All rights reserved.