我有一個問題,當調用函數時,如何導入工作。我相信這與範圍有關,但我無法弄清楚它是如何工作的。我檢查了該網站或一些教程類似的問題,但它看起來像我只是不明白它是如何工作python導入模塊全局本地命名空間
我有一個python腳本MyScipt.py含
def usage(errorID):
# import sys
if errorID == 0:
print("blah blah blah")
print("blah blah blah")
print("blah blah blah"+\
sys.exit()
def main():
import sys
# print(len(sys.argv),sys.argv)
try:
rootDir = sys.argv[1]
except IndexError:
usage(0)
# MAIN PROGRAM
#
if __name__ =="__main__":
main()
執行與失敗
PS D:\xxx\python> python .\myScript.py blah blah blah blah blah blah blah blah blah Traceback (most recent call last): File ".\myScript.py", line 288, in main rootDir = sys.argv[1] IndexError: list index out of range
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File ".\myScript.py", line 299, in main() File ".\myScript.py", line 290, in main usage(0) File ".\myScript.py", line 15, in usage sys.exit() NameError: name 'sys' is not defined
如果我取消了2號線(#進口SYS),它會工作
我怎樣才能使進口提供給所有的功能我的腳本中?
感謝事先在
爲什麼不在最前面導入'import sys' _before_所有函數定義? –
的確,這是我想要編寫代碼的初始位置,但後來我搞不清楚'我應該在哪裏調用'import os.path''。我會將這個問題標記爲答案,並可能會打開一個新的答案。 謝謝 – user1649114