Re: Win32下,直接执行系 统PATH中的Python脚本
"大熊" <[email protected]> Tue, 22 Jan 2008 10:30:36 +0800
| Newsgroups | gmane.comp.python.chinese |
|---|---|
| Message-ID | <[email protected]> |
只要修改两个环境变量就行了 1. PATH,把C:\python25\scripts加上(假设你的python2.5安装在c盘) 2.PATHEXT,添加扩展名.PY;.PYW 然后你就可随便执行你的python脚本了,就像EXE或BAT一样 在08-1-22,realfun <[email protected]> 写道: > > 呵呵,毛遂自荐一个小工具。 > > Python经常会把脚本装在%Python%\Scripts下面,很难用,执行的时候需要跑到这个目录下去搞 > > 如果,脚本像可执行程序那样,*在系统的PATH里随便找个目录一放就能到处执行*该多好! > > 早晨爬起来,写了个工具,包括一个批处理文件以及一个python脚本。 > *安装方法*: > 1. 下载http://www.2maomao.com/blog/wp-content/uploads/exepy.zip > 2. 在系统PATH中找个目录,往里一扔就行,我放在了c:\python\scripts(已经加入系统PATH中) > > *使用方法*: > 此工具为命令行工具 > 在命令行中,敲入:p epydoc xxx > 这样就可以执行c:\python\scripts\下面的epydoc.py了,xxx是参数列表 > > *注意*:python.exe所在目录要加入到PATH中,通常是c:\python > > ————-*实现细节*————- > 批处理文件p.bat: > 下载: p.bat<http://www.2maomao.com/blog/wp-content/plugins/coolcode/coolcode.php?p=451&download=p.bat> > @echo off > REM this command file intend to quickly execute python file in the PATH > REM Usage: p xxx, xxx is the name of xxx.py in PATH > python %~dp0\py\exepy.py %1 %2 %4 %5 %6 %7 %8 %9 > @echo on > > Python脚本(放在p.bat所在的目录的"py"子目录下,可以自己去修改p.bat来自定义目录) > #!/usr/bin/python > import os > import sys > #----------------------------------------------- > def show_help(): > print > print " Purpose: Execute python script in system PATH" > print " Usage: p python_script_name [params] " > print > #----------------------------------------------- > if len(sys .argv) < 2: > show_help() > exit() > > script = sys.argv [1] > if len (script) > 3 and script[- 3:].lower() != '.py': > script += '.py' > params = "" > for arg in sys.argv [2:]: > params += " \"" + arg + "\"" > path_str = os.environ ['PATH'] > paths = path_str.split (';') > for path in paths : > if len( path) == 0: > continue > if path[- 1] != '\\' : > path += '\\' > > full_path = path + script > if os. path.isfile(full_path) : > cmd = "python \" " + full_path + " \"" + params > os .system(cmd) > exit() > > -- > http://www.2maomao.com/blog > _______________________________________________ > python-chinese > Post: send [email protected] > Subscribe: send subscribe to [email protected] > Unsubscribe: send unsubscribe to [email protected] > Detail Info: http://python.cn/mailman/listinfo/python-chinese > -- 茫茫人海,你是我的最爱 _______________________________________________ python-chinese Post: send [email protected] Subscribe: send subscribe to [email protected] Unsubscribe: send unsubscribe to [email protected] Detail Info: http://python.cn/mailman/listinfo/python-chinese