2010-05-03 114 views
0

我正在使用這個os.system(「rc.cpp」)然後是os.system(「./a.out」)在Python代碼中編譯一個C++文件。我想將一個命令行參數傳遞給rc文件。我該怎麼做?如何通過python代碼將命令行參數傳遞給C++文件?

+0

你是什麼意思「運行C++文件」。您可以編譯C++代碼並將其鏈接到可執行文件,然後運行。你想編譯它嗎?你使用的是什麼C++工具鏈? – zdan 2010-05-03 19:15:06

+0

我的意思是編譯它。 – Hick 2010-05-03 19:18:17

+1

將C++添加到標籤 – 2010-05-03 19:32:54

回答

1

您應該使用subprocess module來調用其他可執行文件。 subprocess.Popen將列表作爲第一個參數。列表中的第一項是您想要調用的可執行文件。所有列表項都是傳遞給可執行文件的參數。

from subprocess import Popen 
p = Popen(['/usr/bin/foo', 'arg1', 'arg2']) 
+0

,所以假設有一個名爲foo.py和foo.cpp的東西。哪一個應該採取?如果你給/ usr/bin/foo它怎麼編譯foo.cpp? – Hick 2010-05-03 19:33:49

+0

它不編譯任何東西,它只是讓你調用一個外部可執行文件。如果你想編譯它,你必須調用某種編譯器。我給的例子會調用/ usr/bin/foo。如果你想要它調用/usr/bin/foo.py,你需要把它放在那裏。 – 2010-05-03 19:41:15

+0

根據我詢問如何運行C++代碼的問題。使用Popen我該怎麼做? – Hick 2010-05-03 19:49:15

相關問題