在python中通过shell管道接收参数?

时间:2014-04-09 21:54:37

标签: python parsing arguments glob

我有一个python文件,它使用glob来查找特定文件夹中的js文件,然后打印出来:

print glob.glob(printfolder)

我希望收到此文件找到的文件名,并将它们传输到另一个文件中,该文件计算每个文件的代码行数

所以我正在使用:

python findjava.py /home/alien/Desktop/ | python countfile.py -a

(findjava是找到java文件的脚本,该地址是它应该搜索这些文件的目录的参数,countfile是接收1个文件名并计算其代码行的文件,参数-a是显示所有(代码行,注释和其他重要事项)

但我得到以下输出:

['/home/alien/Desktop/testfile.js']
usage: countfile.py [-h] [-t] [-b] [-s] [-c] [-a] units
countfile.py: error: too few arguments

所以countfile仍在等待带有文件名的参数,我正试图用

import sys
for line in sys.stdin:
    print line

有什么想法? ; _;

1 个答案:

答案 0 :(得分:1)

print " ".join(glob.glob(printfolder))

我认为会更好:P

或者

print "\n".join(glob.glob(printfolder))

你正在传递一个像['asdasd','dsasdad']这样的字符串...几乎可以肯定不是countfile所期待的