请教大神关于Python中为什么使用close会提示不需要?

liuxyboy 2019-01-17 10:03:17

当我把拷贝的语句简化成2行后,再使用close语句就会提示如下:


先谢谢了,百度了一下也没有找到答案
...全文
523 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
优木 2019-11-20
  • 打赏
  • 举报
回复
int型的对象没有close()方法,说的很明白了,是类型不对
hpulfc 2019-01-19
  • 打赏
  • 举报
回复
`write` 的返回值是 整数,没有close属性
ruancan 2019-01-18
  • 打赏
  • 举报
回复
错的地方在于write方法的返回值是int类型的,这个int类型赋值给了out_file变量,所以才会有int类型没有close方法的报错,
并不是你认为的out_file变量等于open函数返回的句柄,然后在用这个句柄执行write方法
陈年椰子 2019-01-18
  • 打赏
  • 举报
回复
概述
write() 方法用于向文件中写入指定字符串。

在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。

如果文件打开模式带 b,那写入文件内容时,str (参数)要用 encode 方法转为 bytes 形式,否则报错:TypeError: a bytes-like object is required, not 'str'。

语法
write() 方法语法如下:

fileObject.write( [ str ])
参数
str -- 要写入文件的字符串。

返回值
返回的是写入的字符长度。
陈年椰子 2019-01-18
  • 打赏
  • 举报
回复
in_file 是字符串
out_file 是写入文件的返回值。

都不是文件指针,所以就没有close方法了。

写代码, 要搞明白代码的作用, 用函数, 要搞明白参数和返回值。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧