背景:公司另外的一个.net项目需要webserver来比较文本的相识度,我用python写好,为了方便部署,就用py2exe打包。
from distutils.core import setup
import py2exe
setup(windows=["server_compare.py"] )
def main_is_frozen():
"""Return ''True'' if we're running from a frozen program."""
import imp
return (
# new py2exe
hasattr(sys, "frozen") or
# tools/freeze
imp.is_frozen("__main__"))
def get_main_dir():
"""Return the script directory - whether we're frozen or not."""
if main_is_frozen():
return os.path.abspath(os.path.dirname(sys.executable))
return os.path.abspath(os.path.dirname(sys.argv[0]))
get_main_dir就直接可以得到运行exe的目录,这样正好是我想要的。