我试图从python文件
运行sh-scriptmy_script.sh
#!/usr/bin/python
rm category.xml
python文件
import subprocess
subprocess.call(["../my_script.sh"])
我得到了
File "../my_scrypt.sh", line 3
rm category.xml
^
SyntaxError: invalid syntax
如何解决这个问题?
答案 0 :(得分:4)
你在一个不是Python的文件上使用了#!/usr/bin/python
的shebang行。改变shebang线。
更好的是,当你可以调用Python函数做同样的事情时,不要调用shell脚本:
import os
os.remove("category.xml")
答案 1 :(得分:1)
查看您的shell代码。您使用python解释器#!/usr/bin/python
并使用bash命令rm category.xml
提供它。
修复了shell脚本:
#!/bin/bash
rm category.xml
答案 2 :(得分:0)
如果您使用的是python 2x
使用命令模块:
import commands
print commands.getoutput('sh my_script.sh')
如果使用python 3x
使用子进程模块:
import subprocess
print(subprocess.getoutput('sh my_script.sh'))
答案 3 :(得分:0)
试试这个,
my_script.sh
#!/usr/bin/sh
rm category.xml
琐碎的方法:
>>> import subprocess
>>> subprocess.call(['./my_script.sh'])
>>>