Python 文件操作(一)
2024-09-02 14:12:46
一、注意事项
A.能调用方法的一定是对象
B.文件的操作流程:
1. 打开文件,得到文件句柄并赋值给一个变量
2. 通过句柄对文件进行操作
3. 关闭文件
二、操作实现方法
'''
文件名:小双双
文件内容如下:
昨夜寒蝉不住鸣。
惊回千里梦,已三更。
起来独自绕阶行。
人悄悄,帘外月胧明。
白首为功名,旧山松饰老,阻归程。
欲将心事付瑶琴。
知音少,弦断有谁听。
'''
1.
f = open('小双双', 'r')
print(f.readline().strip()) # 读取文件第一行内容 # 执行第二次的时候读取第二行内容,因为第一次读取完成后自动把光标放到了第一行末尾
print(f.readline().strip())
>>> 昨夜寒蝉不住鸣。
惊回千里梦,已三更。
2.
f = open('小双双', 'r')
print(f.readlines()) #读取所有内容,按行放到列表中
f.close()
>>> ['昨夜寒蝉不住鸣。\n', '惊回千里梦,已三更。\n', '起来独自绕阶行。\n', '人悄悄,帘外月胧明。\n',
'白首为功名,旧山松饰老,阻归程。\n','欲将心事付瑶琴。\n', '知音少,弦断有谁听。']
3.
# 逐行打印文件内容
f = open('小双双', 'r') for n in f.readlines():
print(n.strip())
f.close()
>>>昨夜寒蝉不住鸣。
惊回千里梦,已三更。
起来独自绕阶行。
人悄悄,帘外月胧明。
白首为功名,旧山松饰老,阻归程。
欲将心事付瑶琴。
知音少,弦断有谁听。 4.
# 在第3行后添加一行字符串
f = open('小双双', 'r')
data = f.readlines()
f.close()
number = 0 for n in data: # 逐行打印文件内容
if number == 3:
n = ''.join((n.strip(),'\n小可爱')) #字符串拼接用.join(),且其只能接收一个参数
print(n.strip())
number += 1
>>>昨夜寒蝉不住鸣。
惊回千里梦,已三更。
起来独自绕阶行。
人悄悄,帘外月胧明。
小可爱
白首为功名,旧山松饰老,阻归程。
欲将心事付瑶琴。
知音少,弦断有谁听。
5.
f = open('小双双', 'r') print(f.tell()) #显示光标此时的位置
for n in f: #for内部将f对象做成一个迭代器,用一个取一个
print(n.strip())
print(f.tell())
>>>0
昨夜寒蝉不住鸣。
惊回千里梦,已三更。
起来独自绕阶行。
人悄悄,帘外月胧明。
白首为功名,旧山松饰老,阻归程。
欲将心事付瑶琴。
知音少,弦断有谁听。
147 6.
f = open('小双双', 'r')
# gbk编码一个中文占两位
print(f.tell()) #显示光标此时的位置
print(f.read(4))
print(f.tell())
>>>0
昨夜寒蝉
8 7.
f = open('小双双', 'r')
# gbk编码一个中文占两位
print(f.read(4))
print(f.tell())#显示光标此时的位置 f.seek(4) # 调节光标的位置
print(f.read(4))
>>>昨夜寒蝉
8
寒蝉不住 8.
f = open('小双双', 'a')
print(f.isatty()) # 判断是否与终端设备相关联,是返回True
f = open('小双双', 'a') #数据截断,在‘a’模式下截取原有数据的前6位,在‘w’模式下格式化文件
f.truncate(6)
9.'a+' 'w+' 'r+' 模式
f = open('小双双', 'w+') #w+模式,执行该语句原文件格式化 print(f.readline()) #所以执行该语句输出为空 f.write('小可爱') #重新写入字符
print(f.readline()) #再次读取还为空,因为上句操作完成后光标移到了最后 f.seek(0) # 调整光标位置
print(f.readline()) f.close()
>>>
小可爱
f = open('小双双', 'r+') #r+模式 print(f.readline()) # 输出原文件内容, f.write('小可爱') #在原文件内容的后面接着写入字符
print(f.readline()) #读取为空,因为上句写操作完成后光标移到了最后 f.seek(0) # 调整光标位置到0
print(f.readline()) f.close()
>>>小可爱 小可爱小可爱
f = open('小双双', 'a+') #a+模式,追加内容;语句执行完光标到最后位置, print(f.readline()) # 输出为空, f.write('小可爱') #在原文件内容的后面追加内容
print(f.readline()) #读取为空,因为上句写操作完成后光标移到了最后 f.seek(0) # 调整光标位置到0
print(f.readline()) #输出现有内容 f.close()
>>>
小可爱小可爱小可爱 三、文件的安全打开方式:
with open('小双双', 'r') as f: # with方式打开文件,后面不需要关闭文件。推荐文件操作使用with # with同时管理多个文件对象
with open('小双双', 'r') as f_read, open('小双双', 'w') as f_write:
for line in f_read:
f_write.write(line)
最新文章
- windows 7 + virtualbox安装centos+mono+jexus
- BAT常用脚本汇总
- C语言小练习四
- 无法Ping通windows 7主机
- [Vue]学习中遇到的疑点
- WinHTTP Web Proxy Auto-Discovery Service
- Linux下配置Mysql允许远程访问
- 我是菜鸟,我怕谁--hdu2520
- Windows Forms框架编程
- dets
- 使用Python读写csv文件的三种方法
- c语言一,二数组
- Windowsphone8外包团队——wp8控件学习资源整理
- python 关于文件的操作
- 【AGC014E】Blue and Red Tree
- EBS R12.2.4 Changing IP
- spring boot 集成 druid
- 数据库与hadoop与分布式文件系统的区别和联系
- MySQL 分表和分区
- 使用批处理方式从svn 检出DEMO