How to Get the Path of the executing frozen script

前端 未结 3 1744
轮回少年
轮回少年 2021-02-08 18:35

If you are running a frozen python script (frozen using py2exe) from a directory and drive different from where the script is present, what is the best way to determine the path

3条回答
  •  忘了有多久
    2021-02-08 18:47

    IMHO, code that acts differently depending from absolute paths is not a good solution. It will be probably better a relative path solution. Use dirname to know the relative directory and os.sep for cross platform compatibility.

    if hasattr(sys, "frozen"):
        main_dir = os.path.dirname(sys.executable)
        full_real_path = os.path.realpath(sys.executable)
    else:
        script_dir = os.path.dirname(__file__)
        main_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
        full_real_path = os.path.realpath(sys.argv[0])
    

    the frozen attribute is python standard.

    Take a look also at Esky : http://pypi.python.org/pypi/esky

提交回复
热议问题