2017-03-18 10 views
0

で実行されなければならないのPythonにバッチファイルを翻訳:すべての私はバッチファイルでこのコードを持っているexeファイルは、そのパラメータ

D:\Programmes\POISSON\PoissonRecon.x64\PoissonRecon.exe --in D:\Programmes\POISSON\fichier1_test.ply --color 16 --depth 10 --out fichier1_test_poisson.ply --density --samplesPerNode 1.50 --fullDepth 5 --pointWeight 4 --bType 2 

まず、私はPythonで、それを「翻訳」したいと思います。

ただし、これは1つのファイルの単純なケースです(コードには "--in"と書かれています)。

2回目には、同じファイルを作成するのと同じコードを作成したいと思いますが、特定のフォルダにあるすべての.plyファイルを作成したいと思います。 (すべての.plyファイルが置かれているフォルダのパスを私に尋ねることができるのであれば、Pythonスクリプトが実行されると素晴らしいでしょう)

私はforループを使うべきでしょうか?そして変数も?

私はPythonでレベル0を持っている...ので、任意のアイデアは本当にいただければ幸いです:)

を、私はこのコードを試してみましたが、それは動作しません:/

import subprocess, os 

s = r'D:\Programmes\POISSON\PoissonRecon.x64\PoissonRecon.exe' 

subprocess.Popen(["s", "--in D:\Programmes\POISSON\fichier1_test.ply", "--color 16", "--depth 9", "--out fichier1_test_poisson.ply", "--density", "--samplesPerNode 1.50", "--fullDepth 5", "--pointWeight 4", "--bType 2"]) 

答えて

0

各コマンドラインを引数はそれ自体の文字列を必要とします:

import subprocess, os 

s = r'D:\Programmes\POISSON\PoissonRecon.x64\PoissonRecon.exe' 

subprocess.Popen(
    [ 
     s, 
     "--in", "D:\Programmes\POISSON\fichier1_test.ply", 
     "--color", "16", 
     "--depth", "9", 
     "--out", "fichier1_test_poisson.ply", 
     "--density", 
     "--samplesPerNode", "1.50", 
     "--fullDepth", "5", 
     "--pointWeight", "4", 
     "--bType", "2" 
    ] 
) 
+0

実際にはコマンド文字列を変数 's'として渡します。文字列s、' "s" 'を含まない文字列は渡しません。 – ShadowRanger

+0

ありがとう、見落とされた:) – Julien

関連する問題