以下是该问题的摘要以及有关操作系统,系统环境变量的相关信息。
启动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位英特尔。
操作系统:
安装了.NET框架:
答案 0 :(得分:4)
您的第一个>>> import os
>>> os.system('.\\CleanupStops.py')
语句以交互模式启动了Python解释器。如果你想从那里运行Python脚本,你需要这样的东西(假设文件在当前目录中):
exit()
键入python CleanupStops.py
并按 Enter 退出交互式解释器。
如果要直接从PowerShell或CMD运行Python脚本,则使用语句PS C:\> python C:\Python27\Tools\Scripts\pyscripts\CleanupStops.py
:
PS C:\> Set-Location C:\Python27\Tools\Scripts\pyscripts
PS C:\Python27\Tools\Scripts\pyscripts> python CleanupStops.py
或
.py
如果在安装过程中将PS C:\> CleanupStops.py
文件与Python解释器相关联,您甚至可以直接运行Python脚本(无需明确指定解释器),正如@tdelaney在您的问题的评论中所指出的那样:
$env:Path
但请注意,后者(在没有解释器和路径的情况下调用脚本)仅在包含该脚本的目录列在.py
环境变量中时才会起作用(并且列出了扩展名$env:PATHEXT
在$env:Path
变量中,正如@eryksun在评论中指出的那样)。如果PS C:\Python27\Tools\Scripts\pyscripts> .\CleanupStops.py
中未列出该目录,则需要使用其绝对或相对路径调用脚本。
[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提示符运行以下4个语句:
// Get duration and store it in the DB
let audio = document.createElement('audio');
audio.addEventListener('loadedmetadata', function ({target}) {
audio.pause();
audio.currentTime = 0;
audio.volume = 1;
Meteor.call('util/setTrackDuration', track._id, target.duration);
});
audio.src = track.getTrackUrl();
// This stuff is because of Safari.. psh!
audio.volume = 0;
audio.play();
下次启动PowerShell(或CMD)时,新设置将生效。