2017-02-09 21 views
0

私は、別のフォルダのファイルを入力として受け取るC++コードを実行するPythonコードを持っています。 私は、フォルダAの私のコードを持っており、入力ファイルは、フォルダBにあり、私はこれをしようとしている:別のフォルダのファイルに.exeファイルを実行する

path = 'C:/pathToInputFiles' 
dirs = os.listdir(path) 

for path in dirs: 
    proc = subprocess.Popen([fullPathtoCppCode, inputFiles]) 

しかし、私はときに私それが機能する唯一の方法があるWindowsError: [Error 2] The system cannot find the file specified

を受け続けます入力ファイルの同じフォルダにC++の実行可能ファイルを置いてください。これはやめようとしています。

どのようにしてファイルパスを正しく読み取ることができますか?

+0

ため、あなたが ''輸入os''、その後、 '' os.path.exists(fullPathtoCppCodeを) '行う場合'、どうしたの? – alexblae

+0

@alexblae私はそれを試して何も持っていない! すべてがうまくいけば、私は何を得るはずですか? – philippos

+0

ファイルが存在する場合は通常 '' True''を、それ以外の場合は '' False''を得るべきです。だから、あなたがファイルへのパスに指定した方法で、実際には存在しなかったようです。しかし、私は@ NineTailの答えが問題を修正したと思います。 – alexblae

答えて

1

for文の後にos.path.joinを使用してみてください。

パス= os.path.join(ディレクトリ、ファイル名)

def test(directory): 
    for filename in os.listdir(directory): 
     filename = os.path.join(directory, filename) 
     proc = subprocess.Popen([fullPathtoCppcode, inputFiles]) 
関連する問題