0
我有一個python代碼,我希望它堅持與python3。但有時我忘了這是一個python3代碼一樣,運行它:自動從python切換到python3的優雅方式
$ python foo.py
我採取這樣的策略:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys,os,warnings
if sys.version_info < (3,0):
sys.argv.insert(0,__file__)
warnings.warn("Switch back to python3 automatically")
os.execv("/usr/bin/python3",sys.argv)
是否有任何優雅的方式做同樣的事情?
既然你把'#!/ usr/bin/python3'直接用'./foo.py'啓動它。 – polku
如果您需要Python3:不要奇蹟般地重新執行腳本,這會導致各種破壞。只是讓腳本呱呱叫而死。 – dhke
@polku我知道。但是代碼是主程序的一個模塊,if __name__ ==「__main__」下面有一些測試用例。我不會「chmod + x」它。我用「python3 foo.py」來測試它。 – wonghang