一、注意事项

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)
 

最新文章

  1. windows 7 + virtualbox安装centos+mono+jexus
  2. BAT常用脚本汇总
  3. C语言小练习四
  4. 无法Ping通windows 7主机
  5. [Vue]学习中遇到的疑点
  6. WinHTTP Web Proxy Auto-Discovery Service
  7. Linux下配置Mysql允许远程访问
  8. 我是菜鸟,我怕谁--hdu2520
  9. Windows Forms框架编程
  10. dets
  11. 使用Python读写csv文件的三种方法
  12. c语言一,二数组
  13. Windowsphone8外包团队——wp8控件学习资源整理
  14. python 关于文件的操作
  15. 【AGC014E】Blue and Red Tree
  16. EBS R12.2.4 Changing IP
  17. spring boot 集成 druid
  18. 数据库与hadoop与分布式文件系统的区别和联系
  19. MySQL 分表和分区
  20. 使用批处理方式从svn 检出DEMO

热门文章

  1. ES6之箭头函数深入理解
  2. 笔记-JavaWeb学习之旅3
  3. $.ajax从后台取数据 然后做字符串拼接的例子
  4. AVL树(平衡二叉树)
  5. 1-3方法的重载(overload)
  6. log4j:WARN Please initialize the log4j system properly. 异常解决
  7. AJPFX的内存管理小结
  8. 生产线上的Nginx如何添加未编译安装模块
  9. nginx,php-fpm的安装配置
  10. codevs 6116 区间素数