我試圖編寫一個代碼來讀取文件並對其進行一些操作。TypeError:強制轉換爲Unicode:需要字符串或緩衝區,找到類型
代碼:
def assem(file):
import myParser
from myParser import Parser
import code
import symboleTable
from symboleTable import SymboleTable
newFile = "Prog.hack"
output = open(newFile, 'w')
input = open(file, 'r')
prsr=Parser(input)
while prsr.hasMoreCommands():
str = "BLANK"
if(parser.commandType() == Parser.C_COMMAND):
str="111"+code.comp(prsr.comp())+code.dest(prsr.dest())+code.jump(prsr.jump())+"\n"
output.write(str)
prsr.advance()
錯誤我得到:
Traceback (most recent call last):
File "assembler.py", line 11, in <module>
input = open(file, 'r')
TypeError: coercing to Unicode: need string or buffer, type found
我怎麼運行程序:
python assembler.py Add.asm
其中Add.asm ID我想讀取文件,所有模塊都在同一個庫中,包括.asm文件。
'file'是python中的一個內置類型,不要將這個名稱用於你的變量。 – georg 2012-04-24 19:40:22