echo "Denied" > log.txt
以后log.txt在python中打开:
def read_file(logs,self):
print 'here'
f1=open(logs,"r","utf-8")
for line in f1:
print str(line)
在运行它时会出错:
"TypeError: coercing to Unicode: need string or buffer, instance found"
答案 0 :(得分:3)
它应该是:
def read_file(self, logs):
使用反向参数顺序
def read_file(logs, self):
您的方法尝试在调用时打开self
实例而不是日志:
self.read_file(logs)
答案 1 :(得分:2)
在致电read_file(logs)
之前,请确保:
logs = "log.txt"
如有必要,请填写“log.txt”的完整路径,例如:
logs = "/home/user/log.txt"
此外,我不确定这是否是您问题中的拼写错误,请确保您声明read_file
这样:
def read_file(self, logs):
也就是说,self
必须先出现。
答案 2 :(得分:1)
您的logs
变量必须是字符串“log.txt”才能生效。显然它是别的东西。
答案 3 :(得分:0)
如果文件的内容是问题,也许它不是asccii你可以做的 导入编解码器
def read_file(logs,self): 打印'这里' f1 = codecs.open(“someFile”,“r”,“utf-8”) F1 =开放(日志, “R”, “UTF-8”) 对于f1中的行: print str(line)