我花了一些力气在此处、网络上和 Python 文档中寻找答案,并自行测试,最终让我的 Python 脚本在我的 Windows 机器(WinXP 和 Win7)上顺利运行。所以,我只是在博客上写了它,并将其粘贴在下面,以防它对其他人有用。对不起,它很长,请随时改进;我不是专家。
[更新:Python 3.3 现在包括适用于 Windows 的 Python Launcher,它允许您键入 py(而不是 python)来调用默认解释器,或者 py -2、py -3、py -2.7等。它还支持shebang行,允许脚本自己指定。对于 3.3 之前的版本,启动器可以单独下载。
http://docs.python.org/3/whatsnew/3.3.html
]
在 Windows 下方便地运行 Python 脚本
也许您正在创建自己的 Python 脚本,或者有人给了您一个用于处理您的数据文件的脚本。假设您获得了一个 Python 脚本并将其保存到“D:\my scripts\ApplyRE.py”。您想通过双击它或从任何位置将其键入命令行来方便地运行它,并可以选择像这样将参数传递给它(-o 表示“如果输出文件已经存在,则覆盖它”): /p>
ApplyRE infile.txt outfile.txt -o
假设您还有一个数据文件“C:\some files\some lexicon.txt”。最简单的选择是移动文件或脚本,使它们位于同一位置,但这可能会变得混乱,因此我们假设它们将保持分开。
确保 Windows 可以找到 Python 解释器
安装 Python 后,验证在命令提示符中输入 python 是否有效(然后输入 exit() 以退出 Python 解释器)。
C:\>python
Python 3.2 (r32:88445, Feb 20 2011, 21:29:02) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
C:\>
如果这不起作用,您需要将“;C:\Python32”(不带引号)之类的内容附加到 PATH 环境变量中。有关说明,请参阅下面的 PATHEXT。
将 Python 与 .py 和 .pyc 关联
确认双击 ApplyRE.py 会运行它。 (顺便说一下,它还应该有一个 Python 徽标作为其图标,并标记为“Python 文件”。)如果尚未完成,请右键单击 .py 文件,选择打开方式,选择程序,然后检查“始终使用...”这种关联提高了便利性,但并非绝对必要——您可以在每次要运行脚本时指定“python”,如下所示:
D:\my scripts>python ApplyRE.py lexicon-sample.txt -o
Running... Done.
这是一个非常具体的变体,除非您需要指定不同版本的解释器,否则它是可选的。
D:\my scripts>c:\python32\python ApplyRE.py lexicon-sample.txt -o
Running... Done.
但这很痛苦。幸运的是,一旦 Python 在 PATH 中安装并与 .py 相关联,然后双击 .py 文件或直接将其作为命令键入应该可以正常工作。在这里,我们似乎直接运行脚本——在与脚本一起位于“我的脚本”文件夹中的示例文件上运行它既好又简单。
D:\my scripts>ApplyRE.py lexicon-sample.txt -o
Running... Done.
省略 .py 扩展名(编辑 PATHEXT)
为了进一步减少输入,您可以告诉 Windows .py(可能还有 .pyc 文件)是可执行的。为此,请右键单击计算机并选择属性、高级、环境变量、系统变量。将“;.PY;.PYC”(不带引号)附加到现有的 PATHEXT 变量,或者如果您确定它尚不存在,则创建它。关闭并重新打开命令提示符。您现在应该可以省略 .py(仅供参考,这样做会导致 ApplyRE.exe 或 ApplyRE.bat 运行,如果存在的话)。
D:\my scripts>ApplyRE lexicon-sample.txt -o
Running... Done.
将脚本添加到系统路径
如果您要经常从命令提示符处使用脚本(如果通过使用 BAT 文件这样做就不那么重要了),那么您需要将脚本的文件夹添加到系统 PATH 中。 (在 PATHEXT 旁边,您应该看到一个 PATH 变量;将“;D:\my scripts”附加到它,不带引号。)这样您就可以从其他位置针对当前位置的文件运行脚本,如下所示:
C:\some files>ApplyRE "some lexicon.txt" "some lexicon OUT.txt" -o
Running... Done.
成功!这就是简化命令行所需要做的几乎所有事情。
无需调整 PATH 直接运行
如果您是一个快速打字员或不介意为每种情况创建批处理文件,您可以指定完整路径(用于脚本或参数)而不是调整 PATH。
C:\some files>"d:\my scripts\ApplyRE.py" "some lexicon.txt" "some lexicon OUT.txt" -o
Running... Done.
C:\some files>d:
D:\>cd "my scripts"
D:\my scripts>ApplyRE.py "c:\some files\some lexicon.txt" "c:\some files\some lexicon OUT.txt" -o
Running... Done.
创建快捷方式或批处理文件
如果 .py 与已安装的 Python 相关联,您只需双击 ApplyRE.py 即可运行它,但控制台可能会出现和消失太快而无法读取其输出(或失败!)。要传递参数,您需要首先执行以下操作之一。
(a) 右键单击并创建快捷方式。右键单击快捷方式以编辑属性并将参数附加到 Target。
(b) 创建一个批处理文件——一个具有不同名称的纯文本文件,例如 ApplyRErun.bat。此选项可能更好,因为您可以要求它暂停以便查看输出。这是一个示例 BAT 文件的内容,编写为从 c:\some files 定位和运行。
python "d:\my scripts\ApplyRE.py" "some lexicon.txt" "some lexicon OUT.txt" -o
pause
高级:附加到 PYTHONPATH
这通常不是必需的,但另一个可能相关的环境变量是 PYTHONPATH。如果我们将 d:\my 脚本附加到该变量,那么其他位置的其他 Python 脚本可以通过 import 语句使用这些脚本。