分页: 1 / 1
如何在shell脚本中调用python?
发表于 : 2011-02-22 23:43
由 SHmech
对脚本一窍不通。问的不对还请包涵。
在网上下了一个处理pdf文件的python程序a.py,其运行为
由于其一次只能处理一个pdf文件,于是想写一个shell脚本使其能自动处理一个目录下的所有pdf文件,试了一下如下的不能工作:
代码: 全选
#!/bin/bash
path =/home/hui/Papers/
path2=/home/hui/Softwares/
cd path
pwd
for i in *pdf
do
echo $i
path2/a.py $i
done
请问是什么原因?正确的应该怎么写?多谢
Re: 如何在shell脚本中调用python?
发表于 : 2011-02-23 0:12
由 forestchen
export 一下 python的运行路径,
另外最好写成 python path/a.py b.pdf
如果不行,贴出出错信息.
Re: 如何在shell脚本中调用python?
发表于 : 2011-02-23 9:47
由 trigger
shell里面空格的作用绝不是美观!!为了美观而存在的空格往往是脚本出错的罪魁祸首。
Re: 如何在shell脚本中调用python?
发表于 : 2011-02-23 10:37
由 SHmech
python是系统安装的,应该不需要export吧
写成
代码: 全选
python path/a.py b.pdf
后有如下的错误:
python: can't open file 'path2/a.py': [Errno 2] No such file or directory
而如果直接写
代码: 全选
python /home/hui/Softwares/a.py $i
又有如下的错误:a.py: error: incorrect number of arguments
脚本中只给了a.py一个参数$i,不应该报错的呀
Re: 如何在shell脚本中调用python?
发表于 : 2011-02-23 13:12
由 forestchen
是否应该写成
代码: 全选
python $path/a.py b.pdf
Re: 如何在shell脚本中调用python?
发表于 : 2011-02-23 15:16
由 SHmech
非常感谢两位,我找到出现error: incorrect number of arguments的原因了,是由于我的很多pdf文件名内含有空格,这样a.py就认为有很多个参数。改为
代码: 全选
python $path2/a.py "$i"
后可以运行。
再次感谢!