我正在编写一个Python程序,该程序将参数传递给shell脚本。
以下是我的Python代码:
import subprocess
Process=subprocess.Popen('./copyImage.sh %s' %s str(myPic.jpg))
我的“copyImage.sh”文件如下:
#!/bin/sh
cp /home/pi/project/$1 /home/pi/project/newImage.jpg
我可以在终端上运行脚本而没有问题。但是当执行Python代码时,终端返回了"NameError:name 'myPic'未定义"的错误。
如果我更改语法为
Process=subprocess.Popen('./copyImage.sh %s' %s "myPic.jpg")
然后终端返回了"OSError: [Errno 2] No such file or directory"
错误。
我按照这个链接的方法尝试解决:Python:使用变量执行shell脚本,但在shell脚本中未读取参数,但没有帮助。
shutil.copy2('/home/pi/project/myPic.jpg', '/home/pi/project/newImage.jpg')
。不需要使用子进程调用使事情变得复杂。 - tdelaney