Python初级常见问题汇总(一)

Python初学者常见错误总结(一)

下面总结是自己学习python过程中遇到的一些问题,对于自学的人可以很好的避免以下问题的发生,给其他新手一些解决办法,同时也是自己总结记录。

问题1:单独的open和with open() as fp  这两种形式的区别是什么?

代码:

f=open('C:\Users\Desktop\/test.txt','a+') #a+ 追加方式写入

f.write("单独open输入")

f.close()

总结:代码分别由打开文化、写入文件、关闭文件。当代码过多程序员会忘记写关闭。f=open系统需要为这个文件操作腾出一个空地(运行内存),一直供这个文件操作使用,直至执行”fp.close()”语句时,相应的内存空间才会被释放。所以说忘记资源,造成浪费。

代码:

import fpas fp#自动关闭,不占用资源

with open("C:\Users\Desktop\/test.txt","a+")as fp:

fp.write("123123")

print(fp.closed())

2.读写文件可以按照哪些方式读 ?


3.一次读一行数据用readlines,那么readlines和xreadlines区别

代码:单独使用

f= open('./test.txt')

print f.xreadlines() # 读多少缓冲多少,对于大文件,不占内存

print f.readlines()# 将要读取的数据一次性的存储到缓存区,并返回生成的list.

f.close()

代码:循环使用

# 返回一个list

for line in f.readlines() 

print line 

# 返回一个生成器

for line in f.xreadlines() 

print line 

总结:

上面那个readlines和xreadlines,第一个是把你要读取的数据一次性读到缓冲区,生成一个list,每次返回给你需要读取的数据。后面的那个是你读多少缓存多少,是个迭代器。所以对于小文件来说,他们俩没区别,对于很大很大的文件,readlines函数更占内存,影响效率,所以通常都会用xreadlines 当然,现在的python已经支持*** in *** 这种形式,这种形式和xreadlines效率应该是一样的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容