2
我將一個鬍鬚文件解析爲字符串,之後我想用csv模塊處理該字符串。爲此,我使用StringIO生成一個類似於字符串接口的文件。 csv模塊與抱怨:StringIO和pystache生成虛空字節
_csv.Error: line contains NULL byte
所以,我提出一個簡單的測試:
import pystache
from cStringIO import StringIO
txt = pystache.render('Hello {{name}}', {'name' : 'Steve'})
f = StringIO(txt)
data = f.read()
print txt.find('\x00')
print data.find('\x00')
print txt.count('\x00')
print data.count('\x00')
哪個生產:
-1
1
0
33
不知何故StringIO對象被插入空字節。不出所料
from cStringIO import StringIO
txt = "Hello Steve"
f = StringIO(txt)
data = f.read()
print txt.find('\x00')
print data.find('\x00')
print txt.count('\x00')
print data.count('\x00')
結果:
-1
-1
0
0
還有什麼問題,如果我使用的尚未與pystache預先處理字符串不會出現這種情況?
確實如此。我如何使用StringIO模塊?或者,如果這是不可能的,我怎麼能將它轉換成正常的字節串? – dangonfast
我解決了它。 '.encode'('utf-8')'添加到'pystache.render('Hello {{name}}',{'name':'Steve'})'' – dangonfast