fazerse 发表于 2021-1-26 08:31:32

入门课033 异常处理2 中,为何 print(f.write()) 返回的是int类型

小甲鱼老师在课上举得例子我 自己做了一遍

try:   
    f=open ('created file.txt','w')
    sum=1+'1'
except:
    print('有错误')
finally:
    content= f.write('写入内容')
    f.close()
    print(content)       #为何这里返回的是数值, 而不是   文件里写入的内容
    print(type(content))    #为了求证, 发现数据类型还真是int , 点解?

'''有错误
4
<class 'int'> '''

他 在课上也讲"因为写入5个字符,所以返回5 ",   文件操作方法 .write()   不是把   括号内 str   写入文件中吗,   为何 返回值 是个int   ?   感觉这块有什么东西没交代清楚.
再有,如果我需要 读取文件内容,只能用for   遍历   文件,   然后在打印输出吗?   我试用   print (f.read())返回的还是int    点解?
   

z5560636 发表于 2021-1-26 08:44:07

你标识的地方没有问题,
f.write('写入内容')#这个函数是把括号内的字符串写入文件,该函数有返回值,返回写入成功字符个数。

意思就是写入的内容他已经直接写到文件里面去了,执行完后,当然返回给你的是写入成功多少个字符。
页: [1]
查看完整版本: 入门课033 异常处理2 中,为何 print(f.write()) 返回的是int类型