优雅的方式自动从python切换到python3

时间:2016-06-10 08:31:07

标签: python python-3.x

我有一个python代码,我希望它坚持使用python3。但有时候我会忘记它是一个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)

有没有优雅的方法来做同样的事情?

1 个答案:

答案 0 :(得分:0)

如果您不想使其可执行,那么您可以创建一个小脚本run_foo.sh

#!/bin/sh
python3 foo.py

然后

./run_foo.sh

我认为为了个人便利,它仍然比代码中的execv好。