什么是文件?
.exe .avi .mp4 .jpg .ppt

打开文件,并返回文件对象:open

open('文件名',打开方式)
>>> f = open('G:\\FishC.txt')
>>> f
<open file 'G:\\FishC.txt', mode 'r' at 0x0000000002D32E40>
>>> f = open('G:\\FishC.txt','a')
>>> f
<open file 'G:\\FishC.txt', mode 'a' at 0x0000000002D32ED0>

http://bbs.fishc.com/forum.php?mod=viewthread&tid=45279&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
read()

>>> f = open('G:\\FishC.txt','r')
>>> f.read(5)
'I \nlo'
>>> f.read()   #如果没有参数或者参数是0,则读取剩余的所有字符串
've\nFish.com'
>>> f.tell()  #返回当前文件指针的位置
18L

seek:移动文件指针
tell:获得文件指针的当前位置

f.seek(offset,from)
其中:在文件中移动文件指针从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)
偏移offset个字节。>>> f = open('G:\\FishC.txt','r')
>>> f.seek(5,1)   #移动到当前位置的第5个字节处(1表示当前位置)
>>> f.tell()
5L

打印文件的方法:

方法1:
>>> f = open('G:\\FishC.txt','r')
>>> lines = list(f)  #把文件中的内容转换成list
>>> lines
['I \n', 'love\n', 'Fish.com']
>>> for each_line in lines:  #定义一个变量依次获取lines列表中的每一个字符串print each_line  #并打印I loveFish.com
【说明】这种效率很低方法2:官方推荐
>>> f = open('G:\\FishC.txt','r')
>>> for each_line in f:print each_lineI loveFish.com

写入文件:如果要写入文件,必须用w或a的方式打开文件

>>> f = open('G:\\FishC.txt','a')
>>> f.write('I love FishC')
>>> f.close()  #操作完成后,记住一定要关闭文件
>>>
>>> f = open('G:\\FishC.txt','r')
>>> f.read()
'I \nlove\nFish.comI love FishC'

—-

—-

习题

文件中的内容:
A:"You love Fish?"
B:"Yes."
======================
A:"I love Fish?"
B:"No."
======================
A:"We love Fish?"
B:"Yes or No."
======================习题要求:
将A的对话单独保存为A_*.txt(去掉A:)
将B的对话单独保存为B_*.txt(去掉B:)文件中总共有三段话,分别保存为A_1.txt,A_2.txt,A_3.txt,B_1.txt,B_2.txt,B_3.txt共6个
文件(提示:文件中不同的对话之间已经用==========分隔开)print('Begin\n')f = open('G:\\FishC.txt','r')#定义a,b列表进行分别保存A,B的对话
a = []
b = []
count = 0for each_line in f:   #依次读取文件中的内容if each_line[:3] != '===':  #判断是否等于‘===’,如果不等于,就要进行保存(name,spoken) = each_line.split(':',1)if(name == 'A'):a.append(spoken)elif(name == 'B'):b.append(spoken)else:#把a,b中的内容写入新的文件中count = count + 1file_A = 'G:\\A_'+str(count)+'.txt'file_B = 'G:\\B_'+str(count)+'.txt'f_A = open(file_A,'w')f_A = open(file_A,'w')for A_line in a:f_A.write(A_line)for B_line in b:f_B.write(B_line)file_A.clear()file_B.clear()f_A.close()f_B.close()
f.close()
print('End\n')

13.文件:因为懂你,所以永恒相关推荐

  1. 文件:因为懂你,所以永恒 +习题复习

    ##因为懂你,所以永恒             (大多数程序都遵循着输入,处理到输出的模型,首先呢接收用户收入,然后按照要求进行处理,到最后输入数据,目前为止,我们很好地掌握了如何处理数据这块环节,现 ...

  2. 小甲鱼《零基础学习Python》课后笔记(二十八):文件——因为懂你,所以永恒

    测试题 0.下边只有一种方式不能打开文件,请问是哪一种,为什么? f = open('E:/test.txt','w') # A f = open('E:\test.txt','w') # B f = ...

  3. 解析.DBC文件, 读懂CAN通信矩阵,实现车内信号仿真

    通常我们拿到某个ECU的通信矩阵数据库文件,.dbc后缀名的文件. 直接使用CANdb++ Editor打开,可以很直观的读懂信号矩阵的信息,例如下图: 现在要把上图呈现的信号从.dbc文件中解析出来 ...

  4. c语言程序设计实验13文件,第13章_文件---《C语言程序设计》实验指导.ppt

    第13章_文件---<C语言程序设计>实验指导 第十三章 主要内容 13.1 C文件概述 13.2 文件类型指针 13.3 文件的打开与关闭 13.4 文件的读写 13.5 文件的定位 1 ...

  5. 解析oracle的dump文件,读懂数据块dump文件信息

    尊重作者著作,转自http://blog.csdn.net/guoyjoe/article/details/8567076 -------------------------------------- ...

  6. c语言程序设计实验13文件,C语言程序设计实验指导书

    C语言程序设计实验指导书 C 语言程序设计实验指导书 C 语言程序设计实验指导书 实验一:C语言的运行环境及运行 C 程序的方法(2 学时) 一.实验目的和要求:一.实验目的和要求: (1)了解所用的 ...

  7. Linux(13)-文件权限,chmod

    文件权限,chmod 1. 文件权限的概念 2. 修改用户权限 1. 文件权限的概念 Linux中一切皆文件,目录可以看作内容是 文件列表 的文件. 文件涉及的三种权限–读,写,执行 注意: 目录的读 ...

  8. vue、cnpm不是内部文件_UBoot链接文件 搞懂程序内部长什么样

    对于一个程序而言,他们内部的结构.组成通常是不可见的,但是不可见并不意味着其内部是杂乱无章的排布,仅仅是众多的二进制数据拼凑而成.一份源代码生成最终的可执行文件来驱动我们的机器正常工作,中间必经的两个 ...

  9. 跟着百度学PHP[13]-文件上传

    PS:上传的时候一定要用POST方法,GET方法不行. 文件上传的entype要改成"mutilpart/form-data"这个编码 <html><form a ...

最新文章

  1. CES上百度无人车队炫技,陆奇要用“China speed”改变世界
  2. 基于Shodan Python库的批量攻击实践 撒旦网
  3. 在ubuntu16安装supervisor 并 启动 .net core.
  4. 简单易懂棒棒哒的视频传输工具!
  5. python正则表达式提取电话号码_Python学习笔模式匹配与正则表达式之电话号码和Email地址提取程序...
  6. elasticsearch7常见查询(term、match、bool、filter)
  7. word模板生成word报表文档
  8. 用pfx证书java双向认证_把CA证书生成的crt的证书和pem的私钥转换成java能够使用的keystore和pcks12的证书,实现https双向认证...
  9. iOS学习之 plist文件的读写
  10. Java中startWith方法的使用!
  11. ue4打包问题的巧妙解决——二分回退大法!
  12. python中文版软件下载-专业PYTHON开发工具——PyCharm中文汉化版下载(图文)
  13. STL中的lower_bound()函数和upper_bound()
  14. redis的配置文件修改
  15. 面对局域网用户滥用网络执法官,p2p终结者等网管软件的破解方法
  16. Jquery colorbox不错的遮罩
  17. 英特尔 QSV 在 FFMPEG 中的使用(Linux)
  18. 从真正的零组建一台日常使用PC+NAS
  19. 希尔伯特到解析信号,再到复包络
  20. 交叉测试、探索性测试的概念、价值、实践

热门文章

  1. 回归--一个平凡人的2018年总结及2019年展望
  2. 记一次redis规模化运维讨论会
  3. lvs为何不能完全替代DNS轮询--转
  4. Example of ConcurrentHashMap in Java--转
  5. 简单的session共享的封装
  6. eclipse 常见问题及解决
  7. java获取当前方法
  8. 【风控场景】互利网上数字金融典型场景: 消费金融
  9. Deep Learning(深度学习)学习笔记整理系列之(八)
  10. Spring Cloud Alibaba - 12 使用Nacos的元数据实现金丝雀发布功能