码迷,mamicode.com
首页 > 编程语言 > 详细

python课堂整理17---文件操作(上)

时间:2019-07-07 17:29:28      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:文件操作   adl   width   close   data   内容   nes   writable   ima   

1.在同一目录下新建文本文件 “爱了”

2.在该文件下写入内容,同时留意pycharm右下角的编码格式为 utf- 8

3.下面程序中的read函数会索引系统默认的编码格式,winx下是gbk ,所以第一行里要指定编码格式与‘’爱了‘’文件一致

f = open(‘爱了‘, encoding = ‘utf8‘)
data = f.read()   
print(data)
f.close()

技术图片  

一. 文件操作的三种方式  只读r   只写w   追加a

只读r:

f = open(‘爱了‘, ‘r‘, encoding = ‘utf8‘)
print(f.readable())   #判断文件是否可读
print(‘第一行‘,f.readline(), end = ‘‘) #一次读一行
print(‘第二行‘,f.readline(), end = ‘‘) #加end是为了取消默认的回车换行
print(‘第三行‘,f.readline())
f.close()

注意:read() 是把文件读完,再用readline() 就读不出内容了

readlines() 是把文件内容全读出来,放进一个列表里

f = open(‘爱了‘, ‘r‘, encoding = ‘utf8‘)
print(f.readlines())

技术图片

只写w:  若文件名存在,直接覆盖掉,若文件不存在,则新建该文件

f = open(‘金灵‘, ‘w‘, encoding = ‘utf8‘)
f.write(‘同学吗\n‘)  #自己写换行符,就不会和下面的内容写在一行了
f.write(‘啊啊\n‘)
print(f.writable()) #判断是否可写
f.writelines([‘行也思君\n‘, ‘坐也思君\n‘])#以列表形式写入
f.close()

技术图片技术图片

追加a:

f = open(‘金灵‘, ‘a‘, encoding = ‘utf8‘)
f.write(‘写在文件最后\n‘)
f.close()

技术图片

二. r+:读写   w+ : 写读   a+ :追加,读

f = open(‘爱了‘, ‘r+‘, encoding = ‘utf - 8‘)
data = f.read()
print(data)
f.write(‘么么\n‘)
f.close()

技术图片技术图片

三. 在计算机层面所有修改,都是覆盖。

src_f = open(‘金灵‘, ‘r‘, encoding = ‘utf-8‘)
data = src_f.readlines()   #得到一个列表
src_f.close()

dst_f = open(‘金灵_new‘, ‘w‘, encoding = ‘utf-8‘)
dst_f.writelines(data[0:4])
dst_f.close()

技术图片

当把上述程序中的  金灵_new 改为  金灵  就变相完成了文件内容的修改

四. 优化

用with 语句,就不用每次都写close了,另外,一行代码太长的话,用  \  ,再回车换行。

with open(‘金灵_new‘, ‘r+‘, encoding = ‘utf-8‘) as f:
    data = f.read()
print(data)

技术图片

python课堂整理17---文件操作(上)

标签:文件操作   adl   width   close   data   内容   nes   writable   ima   

原文地址:https://www.cnblogs.com/dabai123/p/11146837.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!