前提・実現したいこと
pythonでファイル名の一覧を取得し、そのファイル毎にコマンドを実行するスクリプトを
作ろうとしています。
globでファイル一覧取得後に、subprocessでコマンド実行を考えていたのですが上手くいきません。
ファイル取得は出来ており、subprocessにてls "取得したファイル名"というように実施したいのですがエラーになってしまいます。
実際にlsを叩きたいわけではないのですが、処理としては全く同じことをやりたいです。
発生している問題・エラーメッセージ
['test.txt', 'test11.txt', 'conan.txt', 'hero.txt'] conan.txt ex.py hero.txt test.txt test11.txt Traceback (most recent call last): File "ex.py", line 9, in <module> subprocess.call(["ls " + l]) File "/root/.pyenv/versions/3.6.6/lib/python3.6/subprocess.py", line 267, in call with Popen(*popenargs, **kwargs) as p: File "/root/.pyenv/versions/3.6.6/lib/python3.6/subprocess.py", line 709, in __init__ restore_signals, start_new_session) File "/root/.pyenv/versions/3.6.6/lib/python3.6/subprocess.py", line 1344, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ls test.txt': 'ls test.txt'
該当のソースコード
python
1import glob, re, subprocess 2 3ex_file = glob.glob("*.txt") 4print(ex_file) 5 6subprocess.call(["ls"]) 7 8for l in ex_file: 9 subprocess.call(["ls " + l])
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。