2017-09-04 1 views
0

個々のファイルに対してコマンドを実行すると動作します。しかし、私はループの中でそれを使いたいときにはうまくいきません。何が問題なの?サブプロセスのインポートコール 輸入OSから 、SYSディレクトリ内のすべてのファイルに対してPythonにexeを渡します。

rootdir = r'C:\\Users\\X\\Desktop\\hump' 

for root, dirs, files in os.walk(rootdir): 
    for file in files: 
     if file.endswith(".ply"):    
      nf = file.replace('.ply', '.txt') 
      os.system("C:\\Users\\X\\Desktop\\fftw-3.3.5 dll64\\ShapeDescriptor.exe --in file --out nf") 
+1

分のプロセスを忘れて、ファイル名を含む文字列を作成しようとしていた場合にはどうするのか想像してください。 –

+0

私はfile_name = os.path.join(root、file)のようなものを追加して、それを以下の答えにマージしました – edyvedy13

答えて

1

は、システムコールにfilenfの値を渡します。これはあなたが探しているものかもしれません。

os.system("C:\\Users\\X\\Desktop\\fftw-3.3.5 dll64\\ShapeDescriptor.exe --in {0} --out {1}".format(file,nf)) 
+0

最後の行を変更しましたが、まだ結果が得られませんでした – edyvedy13

+0

空白があるので、入力ファイル... – edyvedy13

関連する問題