2
proc = subprocess.Popen(['ls', '-v', self.localDbPath+'labris.urls.*'], stdout=subprocess.PIPE)
while True:
    line = proc.stdout.readline()
    if line != '':
        print line
    else:
        break

上記のコードを使用すると、次のエラーが表示されます。

ls: /var/lib/labrisDB/labris.urls.*: No such file or directory

しかし、シェルから同じことをすると、エラーは発生しません。

ls -v /var/lib/labrisDB/labris.urls.*

また、これでもエラーは発生しません。

proc = subprocess.Popen(['ls', '-v', self.localDbPath], stdout=subprocess.PIPE)
while True:
    line = proc.stdout.readline()
    if line != '':
        print line
    else:
        break

最初のコードが失敗するのはなぜですか? 私は何が欠けていますか?

4

2 に答える 2