所以在我file1.py
,我有這樣的:導入功能在另一個文件
def run():
# Do something
print "Hi"
現在我想在另一個文件中使用函數run()
。
from file1.py import run
但是,當我執行其他文件時,它還打印Hi
。我如何壓制這一點?
所以在我file1.py
,我有這樣的:導入功能在另一個文件
def run():
# Do something
print "Hi"
現在我想在另一個文件中使用函數run()
。
from file1.py import run
但是,當我執行其他文件時,它還打印Hi
。我如何壓制這一點?
在if __name__ == "__main__"
子句中添加print "Hi"
。
當python導入模塊時,它執行其中包含的代碼以構建模塊名稱空間。如果將模塊作爲主腳本運行,__name__
將被分配到__main__
,並且if
子句中的代碼將被執行。
既然你沒有運行該腳本作爲主腳本__name__
被分配到模塊__name__
(在這種情況下file1
),因此本次測試將不會成功和print
語句是不會得到執行。
def run():
# Do something
if __name__ == "__main__":
print "Hi"
,如果你不想被打印嗨,只需從file1.py
刪除,如果你想在運行時(要打印喜)被調用的,那麼它屬於運行它縮進()函數。
你應該包括的功能在此之後:
如果主要 == 「名」:#之前和之後的 '主' 和 '名'有兩個under_scores! 打印「嗨」等...