在python script當中:
- 可以用 __file__ 來取得script的檔名
- 比較新的版本會取得完整路徑,比較舊的版本有可能會取得相對路徑,可以呼叫 os.path.realpath(__file__) 來轉成完整路徑檔名。
- 可以用 sys.argv[0] 來取得 script 的檔名
- A.py
#!/usr/bin/python3後來,在另一個B.py中,我們發現可以直接使用 A 的 main(本例過於簡化):
# encoding: utf-8
import sys
def main(argv):
print(__file__)
print(argv[0])
if __name__ == '__main__':
main(sys.argv)
- B.py
#!/usr/bin/python3執行結果,A.py會印出 A.py、A.py,而B.py會印出 A.py、B.py,這就是兩者的差別。在寫重覆使用的模組時,要根據所需要的效果來挑選正確的用法。
# encoding: utf-8
import sys
from A import main
if __name__ == '__main__':
main(sys.argv)
沒有留言:
張貼留言