2016-09-23 68 views
0

我讀了你可以執行使用import這樣
file.py文件:如何使用導入的參數在Python中執行文件?

#!/usr/bin/env python 
import file2 

file2.py

#!/usr/bin/env python 
print "Hello World!" 

而且file.py將打印Hello World。我如何使用參數import來執行這個文件?

+0

http://stackoverflow.com/questions/20309456/how-to-call-a-function-from-another-file-in-python – LaneL

+0

http://stackoverflow.com/a/3781960/391161 – merlin2011

回答

1

程序參數可在sys.argv中找到,並可供任何模塊使用。你可以file2.py改變

import sys 
print "Here are my arguments", sys.argv 

可以使用argparse模塊更復雜的分析。

+0

他不希望從終端接收參數。他想通過「進口」聲明發送給他們。 – Bharel

+0

@Bharel OP從未聲明參數來自哪裏或者它們在* file2.py *中如何被使用。他當然沒有說他們不是標準的程序參數。 – tdelaney

+0

@tdelaney對不起,顯然我的指示還不夠清楚。但是,如果可能的話,我想**使用導入執行**文件。 – baranskistad

1

導入並不意味着執行腳本。它用於獲取或「導入」它包含的函數,類和屬性。

如果您希望使用不同的解釋器執行腳本併爲其提供參數,則應使用subprocess.run()


在Python 2,如果你需要的程序輸出你可以使用subprocess.call()subprocess.check_output()

+0

是的和不。如果你安裝了一個軟件包,模塊不在系統'PATH'中,它的常見做法是在'PATH'中包含幫助腳本來運行它們。另外,這種導入技術可以讓你在目標腳本運行之前擺弄系統環境。 – tdelaney

+0

我使用2.7,有沒有辦法在2.7中做到這一點?或者我需要升級到3.x? – baranskistad

+0

針對Python 2添加了@bjskistad。 – Bharel

相關問題