在PowerShell中运行.py

时间:2016-06-04 20:36:46

标签: python powershell

我在PowerShell(PS)上运行一个简单的:echo print "Hello!!" > prog.py。一切顺利,直到我将.py程序设置为默认运行IDLE.bat。 一旦我这样做,当我输入.\prog.py时,PowerShell会运行Idle,所以我有了一个很棒的想法"将.py设置为与PS一起运行。 我再次将Idle设置为.py的默认程序,但现在我无法从PS创建我的.py文件,我注意到它插入了字符,在printHello之间回车。 ÿþp r i n t H e l l o ,以及所有字母之间的空格。像这样:

python prog.py

运行PS C:\> python prog.py File "prog.py", line 1 SyntaxError: Non-ASCII character '\xff' in file prog.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 我得到一个SyntaxError,如下所示:

if num not in my_lst

PS会丢失编码吗?我该如何解决这个问题?

我正在使用Win10(PSv5.0); Python 2.7.11

1 个答案:

答案 0 :(得分:1)

ÿþ是字节顺序标记。您正在查看Windows Unicode,即UCS-2 LE或UTF-16,它是.Net Framework使用的常见编码格式。 "空格"正在发生,因为Python并没有将文件解释为使用多字节字符进行编码,就是这样。

尝试明确指定编码:

Write-Output 'print "Hello World!!"' | Out-File -FilePath .\prog.py -Encoding ascii
相关问题