前提
fft.exeというアプリで多数のcsvファイルを処理しなければいけません。アプリの実行方法はコマンドプロンプトでfftpk.exe -c aaa.csv -n _FFTPK -T 1.5 -F 0.15
というコマンドを入力することです。これをpythonで動かそうとしているのですがうまくいきません。python初心者で申し訳ありませんがご教授お願い致します。
発生している問題・エラーメッセージ
エラーは発生しないですが、結果が一つも出力されなかったので、正しくコマンドが動作していないと思われます。
該当のソースコード
python
1import subprocess 2import os 3from pathlib import Path 4 5ROOT_PATH = 'C:/新しいフォルダー/test' 6 7def simple_check(path): 8 for pathname, dirnames, filenames in os.walk(path): 9 for filename in filenames: 10 # フィルタ処理 11 if filename.endswith('.csv'): 12 filename = int(Path(filename).stem) 13 print(filename) 14 command = 'fftpk.exe -c "%03.f"%(filename)+".csv" -n _FFTPK -T 1.5 -F 0.15' 15 subprocess.run(command) 16 17simple_check(ROOT_PATH)
試したこと
まずフォルダ内に複数のsvファイルが入っているので、その名前を拡張子なしに抽出しファイル名が数値なのでintに変換しています(コマンドを動かそうとした際にファイル名が数値である必要があるといわれたため)
その後抽出したファイル名を用いて、subprocess.run関数でコマンドを実行しました
補足情報(FW/ツールのバージョンなど)
やり方にこだわりはないので、どんな方法でも目的を達成できる方法があればご教授願います。分かりにくい説明かもしれませんが、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー