以下是问题的摘要以及有关操作系统、系统环境变量的相关信息。
启动 PowerShell 后,屏幕显示
Windows Powershell
Copyright © 2009 Microsoft Corporation
PS C:\Users>
我的输入是:
Python
输出是:
Python 2.7.4 default Apr 8 2013 19:54:46) [MSC v.1500 32 bit (Intel)] on win32"
Type “help” ……etc.
我的下一个输入是:
Python CleanupStops.py
输出是:
File <stdin>,line 1
Python CleanupStops.py
^ "
Syntax Error: invalid syntax"
脚本位于系统环境变量中设置的目录 pyscripts 中,如下所示。
C:\Python27;C:\Python27\Tools\Scripts\pyscripts;C:\Python27\Lib\site-packages;
请注意,我的操作系统是 64 位 SPI,而 Python 2.7.4 是 32 位 Intel。
操作系统:
- Windows 7 专业版 64 位 SP1
安装日期:4/3/2015 10:13:51 PM
已安装 .NET Frameworks:
- v4.5 全版
- v4.5 客户端
- v3.5 SP1
- v3.0 SP2
- v2.0 SP2
最佳答案
您的第一个 Python
语句以交互模式启动了 Python 解释器。如果你想从那里运行一个 Python 脚本,你需要这样的东西(假设该文件在当前目录中):
>>> <b>import os</b>
>>> <b>os.system('.\\CleanupStops.py')</b>
键入 exit()
并按 Enter 退出交互式解释器。
当您想直接从 PowerShell 或 CMD 运行 Python 脚本时,使用语句 python CleanupStops.py
:
PS C:\> <b>python C:\Python27\Tools\Scripts\pyscripts\CleanupStops.py</b>
或
PS C:\> <b>Set-Location C:\Python27\Tools\Scripts\pyscripts</b>
PS C:\Python27\Tools\Scripts\pyscripts> <b>python CleanupStops.py</b>
如果您在安装期间将 .py
文件与 Python 解释器相关联,您甚至应该能够直接运行 Python 脚本(无需明确指定解释器),正如@tdelaney 在您的评论中指出的那样问题:
PS C:\> <b>CleanupStops.py</b>
但是请注意,后者(在没有解释器和路径的情况下调用脚本)仅在包含脚本的目录列在 $env:Path
环境变量(以及扩展名 .py
列在 $env:PATHEXT
变量中,正如@eryksun 在评论中指出的那样)。如果目录未在 $env:Path
中列出,则需要使用绝对路径或相对路径调用脚本。
PS C:\Python27\Tools\Scripts\pyscripts> <b>.\CleanupStops.py</b>
如果安装程序没有正确准备环境,您可以自己轻松完成。只需从提升的 PowerShell 提示符中运行以下 4 条语句:
[environment]::SetEnvironmentVariable('Path', "$env:Path;C:\python27", 'Machine')
[environment]::SetEnvironmentVariable('PATHEXT', "$env:PATHEXT;.py", 'Machine')
cmd /c 'assoc .py=Python.File'
cmd /c 'ftype Python.File="C:\python27\python.exe" "%1" %*'
新设置将在您下次启动 PowerShell(或 CMD)时生效。
关于python - 从 PowerShell 语法错误运行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34254649/