我嘗試使用Python涅槃之前串聯在一起的幾個JavaScript文件的開頭,基本上像這樣:Python的file.read()看到垃圾字符的文件
outfile = open("output.js", "w")
for somefile in a_list_of_file_names:
js = open(somefile)
outfile.write(js.read())
js.close()
outfile.close()
的minifier抱怨關於每個文件開頭的非法字符和語法錯誤,所以我做了一些診斷。
>>> r = open("output.js")
>>> somestring = r.readline()
>>> somestring
'\xef\xbb\xbfvar $j = jQuery.noConflict(),\n'
>>> print somestring
var $j = jQuery.noConflict(),
該文件的第一行當然應該是「變量$ J = jQuery.noConflict(),」
如果它的確與衆不同,我從Windows中工作。
有什麼想法?
編輯:這就是我從minifier獲得:
U:\>java -jar c:\path\yuicompressor-2.4.2.jar c:\path\somefile.js -o c:\path\bccsminified.js --type js -v
[INFO] Using charset Cp1252
[ERROR] 1:2:illegal character
[ERROR] 1:2:syntax error
[ERROR] 1:3:illegal character
如果你打印somefile.readline()'會發生什麼?如何在記事本中打開文件? – katrielalex 2010-08-12 15:16:19
是的, 打印somefile.readline() 生成相同的垃圾。當我在記事本中打開文件時,出於某種奇怪的原因,它以較小的字體顯示第一行。 Visual Studio拒絕打開它。在擺弄它之後,記事本不再顯示它,並且Visual Studio將其打開,但縮小器仍會拋出錯誤。 – Chris 2010-08-12 15:23:34