首页 > 编程语言 > 详细

【Python基础】文件操作

时间:2019-05-13 10:26:29      阅读:149      评论:0      收藏:0      [点我收藏+]

文件操作

参考:http://www.cnblogs.com/linhaifeng/articles/5984922.html#_label28

"""文件 读 r 操作"""

 

技术分享图片
f=open(陈粒,encoding=utf-8)
data=f.read()
print(data)
f.close()

f=open(xxx)
data=f.read()
print(data)


f=open(陈粒,r,encoding=utf-8)
data=f.read()
# print(data)
print(f.readable())
print(第1行,f.readline(),end=‘‘)
print(第2行,f.readline())
print(第3行,f.readline())
# for i in range(1):
#     pass
print(第4行,f.readline())
print(第5行,f.readline())
print(第6行,f.readline())
print(第7行,f.readline())

data=f.readlines()
print(data)
f.close()
读文件

 

 

""" 文件 写 w 操作 """

技术分享图片
f=open(陈粒1,w,encoding=utf8)
# f.read()
f.write(11111111\n)
f.write(222222222\n)
f.write(333\n4444\n555\n)
# f.writable()
f.writelines([555\n,6666\n])
f.writelines([555\n,6666\n,1]) # 文件内容只能是字符串,只能写字符串
f.close()
写文件

"""文件 追加 a 操作"""

技术分享图片
f=open(陈粒1,a,encoding=utf-8)
f.write(追加方式写到文件最后)
追加写操作

"+" 表示可以同时读写某个文件

r+, 读写【可读,可写】

w+,写读【可读,可写】

a+, 写读【可读,可写】

"""文件修改"""

技术分享图片
src_f=open(xxx,r,encoding=gbk)
data=src_f.readlines()
src_f.close()

# for i in data:
#     print(i)
print(data)
dst_f=open(xxx,w,encoding=gbk)
# dst_f.writelines(data)
dst_f.write(data[0])
dst_f.close()

with open(a.txt,w) as f:
    f.write(1111\n)


src_f=open(xxx,r,encoding=gbk)
dst_f=open(xxx,w,encoding=gbk)
修改文件

"""以 with 方式打开多个文件"""

技术分享图片
with open(xxx,r,encoding=gbk) as src_f,        open(xxx_new,w,encoding=gbk) as dst_f:
    data=src_f.read()
    dst_f.write(data)

f=open(a.txt)
print(f.encoding) #查看文件编码
View Code

"""以 bytes(二进制)方式打开文件"""

技术分享图片
f=open(test11.py,rb,encoding=utf-8)     #b的方式不能指定编码
f=open(test11.py,rb) #b的方式不能指定编码
data=f.read()

#‘字符串‘---------encode---------》bytes
#bytes---------decode---------》‘字符串‘

print(data)
print(data.decode(utf-8))
f.close()


f=open(test22.py,wb) #b的方式不能指定编码
f.write(bytes(1111\n,encoding=utf-8))
f.write(中国.encode(utf-8))

f=open(test22.py,ab) #b的方式不能指定编码
f.write(中国.encode(utf-8))

open(a.ltxt,wt)
View Code

补充:"""需求:读取几万行日志文件的最后一行
f.readlines() 直接全部读出来放在内存中 很耗内存空间
"""

技术分享图片
# f=open(‘日志文件‘,‘rb‘)
# data=f.readlines()
# print(data[-1].decode(‘utf-8‘))

f=open(日志文件,rb)

# for i in f.readlines():
#     print(i)

#循环文件的推荐方式,以行为单位读取,取一行用一行 不全部放在内存中
# for i in f:
#     print(i)

for i in f:
    offs=-10
    while True:
        f.seek(offs,2)
        data=f.readlines()
        if len(data) > 1:
            print(文件的最后一行是%s %(data[-1].decode(utf-8)))
            break
        offs*=2
View Code

 

【Python基础】文件操作

原文:https://www.cnblogs.com/XJT2018/p/10854939.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!