注意:這個問題沒有被標記爲原始的問題所回答。這不僅僅是一個Python v2 vs v3問題,我在下面的評論中解釋了這個問題。使用便攜式Python重複出現錯誤
原文章: 我想在工作中學習Python,所以我目前使用的是可移植的Python 3.2.1.1(它將從此稱爲PP)。 (我提到這一點,因爲當我使用我的Mac和普通的Python時,這個問題在家裏不會發生。)
我正在通過練習16學習Python的艱難之路(http://learnpythonthehardway.org/book/ex16.html)。我聽說這不是最好的學習工具,但我是一個完整的編程n00b,我是一個動手的學習者。如果您有更好的建議,我會開放!
演習的前幾行閱讀:
from sys import argv
script, filename = argv
print "We're going to erase %r." % filename
print "If you don't want that, hit CTRL-C (^C)."
我的劇本的題目是Ex16.py,我使用的文件是Python.txt,並且兩者都是在同一個文件夾中PP .EXE文件。我不認爲這是必要的,但希望它可以解決這個問題......消極。當我在PP中按下「運行」時,它不起作用,因爲argv要求您在啓動腳本時提供參數:python Ex16.py Python.txt
當我啓動Python.exe(其中,PP便攜式Python.exe),我得到的標準Python提示符>>>,但無論我輸入我得到同樣的錯誤消息:
File "<stdin>", line 1
with whatever I've just tried repeated back to me with the marker to
indicate where the problem is. (has not been helpful so far)
SyntaxError: invalid syntax
我試圖在>>>提示符下鍵入以下內容: python Ex16.py Python.txt
,, Ex16.py Python.txt
,, "%PATH&\Ex16.py" "%PATH%\Python.txt" (with the actual filepaths)
,, print 'hello world'
我只是不斷得到相同的無效語法錯誤。即使是基本的打印命令也會返回無效的語法錯誤。唯一引發不同錯誤的是我嘗試整個文件路徑的那個。那一個返回:
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in
position 2-3: truncated \UXXXXXXXX escape
是的,我已經谷歌谷歌失控兩個錯誤。我讀到有時候問題並不是加倍退後,所以我也嘗試過,在兩個文件路徑中放入兩個\以前只有一個。我甚至試圖在腳本的開頭放置— # -*- coding: utf-8 -*-
,因爲可能存在一些unicode錯誤。在完整的文件路徑中,導致了前面提到的相同的unicode錯誤。
是的,我已經檢查過我的代碼與練習中的代碼是否匹配。
是的,這在非PP的家庭工作。
所有這一切讓我相信,這個問題可能是我試圖在PP中運行腳本的方式(但爲什麼不會print
工作?),但我不知道我是什麼做錯了。
謝謝!
如果您可以粘貼一個完整的終端會話,就像它看起來一樣,它可能會更容易幫助。 – 2013-03-21 15:22:34
我喜歡複製和粘貼(它會容易得多),但它不會讓我選擇任何文本。即使右擊也不會產生任何選項。 :( – user2195503 2013-03-21 15:32:36
_I已經嘗試在>>>提示符處輸入以下內容:python Ex16.py Python.txt_ - 一旦您處於python提示符(>>>),請輸入python語句,而不是shell命令。 sys','>>> sys.stdout.write(sys.version +','+ sys.executable +'\ n')'等等...這兩行是找出哪個python的好方法 – tdelaney 2013-03-21 16:17:55