学习内容:文件

打开模式 执行操作
r 以只读模式打开文件
w 以写入模式打开文件,会覆盖已存在的文件
x 如果文件已存在,使用此模式打开会引发异常
a 以写入模式打开,如果文件存在,则在末尾追加写入
b 以二进制模式打开
t 以文本模式打开
+ 可读写模式
U 支持通用换行符

其中用open()函数打开一个文件时,默认‘rt’<=只读和文本模式。

文件对象的方法 执行操作
f.close() 关闭文件
f.read(size=-1) 从文件中读取size个字符,当未给定size或给定负值时,读取文件指针开始的剩余的所有字符,作为字符串返回
f.readline() 从文件中读取一整行字符串
f.write(str) 将字符串写入文件
f.writelines(seq) 向文件写入字符串序列seq,seq是一个返回字符串的可迭代对象
f.seek(offet,from) 在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节
f.tell() 返回文件指针在文件中的位置

将文件(使用说明.txt)保存为(使用说明.mp3)

>>> f1=open('D:\\使用说明.txt')
>>> f2=open('D:\\使用说明.mp3','x')
>>> for each_line in f1:f2.write(each_line)

将(使用说明.mp3打印到屏幕上)

>>> for each_line in f2:print(each_line,end='')Q00123电视直播(http://www.q00123.com)q00123电视直播是一款非常优秀的电视直播软件电脑版,该软件包含了目前所有的电视频道,用户能够直接选择自己所需要观看的频道进行直播,具有电视台多、播放流畅、视频清晰等特色,致力于为广大用户带来最方便、便捷的直播体验。
。。。。。。

末尾追加写入文件:

>>> f=open('D:\\使用说明.txt','a')
>>> print('文件名为:',f.name)
文件名为: D:\使用说明.txt
>>> seq=['carrot1','carrot2']
>>> f.writelines(seq)
>>> f.close()
>>> f=open('D:\\使用说明.txt')
>>> for each in f:print(each,end='')Q00123电视直播(http://www.q00123.com)q00123电视直播是一款非常优秀的电视直播软件电脑版,该软件包含了目前所有的电视频道,用户能够直接选择自己所需要观看的频道进行直播,具有电视台多、播放流畅、视频清晰等特色,致力于为广大用户带来最方便、便捷的直播体验。软件功能:
1:可以在线电视直播,电视台有上万个,国内,国外,港台等全球世界各地的电视台。
2:可以在线电影直播,上百个电影院的直播台,每天24小时不间断的直播最新最好看的电影。
3:可以在线音乐直播,几十个音乐直播台24小时不断直播最好听最新的音乐。
4:可以在线收音广播,上万个全球广播电台,可以随意点播。
5:还有MV直播,搞笑节目直播,游戏直播,美女直播等等多样类型节目直播。
软件特点:
1:直播节目多。
2:节目源稳定。
3:软件操作方便
4:软件容量小。
5: 速度快。
6:广告少。
carrot1carrot2

下面练习题:源自小甲鱼,如涉及版权问题,贵小甲鱼官方所有。
一:编写一个程序,接受用户的输入并保存为新文件,程序实现如下:

def fwrite(filename):print('请输入想要保存的文字(退出请按w/W):')f=open(filename,'w')while True:a=input()if a!='w'and a!='W':f.write('%s\n'%a)else:breakf.close()filename=input('请输入文件名')
fwrite(filename)

二:编写一个程序,比较用户输入的两个文件,如果不同,显示出所有不同出的行号与第一个不同字符的位置。实现如下:

def file_compare(file1,file2):f1=open(file1)f2=open(file2)count=0differ=[]for each1 in f1:each2=f2.readline()count+=1if each1!=each2:differ.append(count)f1.close()f2.close()return differfile1=input('请输入需要比较的第一个文件名:')
file2=input('请输入需要比较的第二个文件名:')
differ=file_compare(file1,file2)if len(differ)==0:print('这两个文件完全一样')
else:print('这两个文件有【%d】处不同:'%len(differ))for each in differ:print('第%d行不一样'%each)

三:编写程序,用户可以随意输入需要显示的行数,输入13:21打印第13行到21行,程序实现如下:

def file_print(file,num):(start,end)=num.split(':')if start =='':start = 1else:start=int(start)if end =='':end = -1else:end = int(end)f=open(file)if start==1:if end==-1:print('文件%s从开头到结束的内容如下:'%file)else:print('文件%s从开头到%d行的内容如下:'%(file,end))else:if end ==1:print('文件%s从%d行到结束的内容如下:'%(file,start))else:print('文件%s从%d行到%d行的内容如下:'%(file,start,end))for i in range(start-1):f.readline()#这里指针走到了start-1行,不一定是从0开始了n = end-start+1if n<0:print(f.read())#这里表示end=-1,从start-1开始,打印至最后一行else:for i in range(n):print(f.readline())f.close()file_name=input('请输入要打开的文件')
num=input('请输入要显示的行数【格式如13:21】:')
while num== '':num=input('输入有误,请重新输入:')
file_print(file_name,num)

四:编写程序,实现全部替换功能,程序实现如下:

def f_replace(file_name,ole_word,new_word):f_read=open(file_name)count=0content=[]for each_line in f_read:if old_word in each_line:count+=1each_line = each_line.replace(old_word,new_word)content.append(each_line)decide = input('\n文件%s中共有%s个【%s】\n您确定要吧也是有的【%s】替换为【%s】吗?\n【YES/NO】:'%(file_name,count,old_word,old_word,new_word))if decide in['YES','Yes','yes']:f_write = open(file_name,'w')f_write.writelines(content)f_write.close()f_read.close()file_name=input('请输入文件名:')
old_word=input('请输入需要替换的单词或字符:')
new_word=input('请输入新的单纯或字符')
f_replace(file_name,old_word,new_word)

python复习28~29文件相关推荐

  1. python写文件读文件-Python 实例:读写文件

    原标题:Python 实例:读写文件 读写文件是最常见的IO操作.内置了读写文件的函数,用法和的读写文件非常类似.在磁盘上读写文件的功能都是由提供的,现代不允许普通的程序直接操作磁盘,所以,读写文件就 ...

  2. python批量下载网页文件夹_Python的urllib模块、urllib2模块批量进行网页下载文件...

    由于需要从某个网页上下载一些PDF文件,但是需要下载的PDF文件有几百个,所以不可能用人工点击来下载.正好Python有相关的模块,所以写了个程序来进行PDF文件的下载,顺便熟悉了Python的url ...

  3. [原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作

    [原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作 转载请注明出处 一.关于为什么用pymediainfo以及pymediainfo的安装 使用python对视频/音频文件进行详 ...

  4. 让Python删除window下文件

    今天接到电话,有楼下客户反映,数据有问题,我连接到服务器上,发现broke的一个盘符空间满了,导致,应用在报错,停下服务,删除了庞大的日志文件,服务开启,一切正常了. 早就想写个脚本放在服务器上,今天 ...

  5. python保存不了_新手,我的python保存不了文件

    查看: 801|回复: 18 [已解决]新手,我的python保存不了文件 电梯直达 发表于 2020-7-14 21:20:30 From FishC Mobile | 只看该作者 |倒序浏览 |阅 ...

  6. python上传大文件s3_aws s3上传大文件的4种方法

    aws s3 上对存储的数据容量是没有限制的,各个 Amazon S3 数据元的大小可在 1 字节至 5 TB 之间,可在单个 PUT 中上传的最大数据元为 5 GB,对于大于 100 MB 的数据元 ...

  7. python脚本修改hosts文件

    记一次使用python脚本来修改hosts文件,由于公司服务器需要换ip地址,服务器里都是Linux系统,而hosts文件中有些解析的ip,手动一台一台的解析太麻烦,就写了这个脚本.本来以为感觉很简单 ...

  8. python不是内部文件别太任性_Python对文件的操作

    Python的文件操作 什么是IO 在计算机中 I/O 是指 Input/Output,即 Stream (流)的输入和输出,输入和输出是相对于内存来说的.程序运行时数据都驻留在在内存当中,由 CPU ...

  9. python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法

    python pandas获取csv指定行 列的操作方法 pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: ho ...

最新文章

  1. Linux如何查看进程、杀死进程、查看端口等常用命令
  2. java读取dcm影像文件_使用dcmtk库读取.dcm文件并获取信息+使用OpenCV显示图像
  3. Android中的自定义view和自定义属性TypedArray的使用
  4. 某化大学,教授亲自手把手,从零基础交我们Python利用开发公众号
  5. Jar包冲突解决方法 Unknown lifecycle phase mvn Eclipse中执行maven命令
  6. MTK 驱动---(11) EMI定制
  7. mysql中更新的命令是_MySQL 语言中,更新表数据的命令是( )。_学小易找答案
  8. 刘知远:NLP研究入门之道(二)走近NLP学术界
  9. Java 对象数组的定义与用法详解
  10. android x5内核 下载地址,在Android项目中集成腾讯X5内核
  11. 十步一拆:iPhone4S拆机十步曲
  12. java常识-java怎么换行
  13. 机器人理论简介—— 台湾交通大学机器人学公开课(一)
  14. 【C语言】数据表现形式及基本数据类型
  15. html5拖拽实现拼图,HTML5技术之图像处理:一个滑动的拼图游戏
  16. Android接入谷歌广告 - 发现各种坑
  17. 世界安全生产与健康日 国美零售这些家电与你息息相关
  18. 恢复微信撤回的图片(不容root,极其简单)
  19. java版QQ 欢迎点评
  20. 【前端词典】分享 8 个有趣且实用的 API

热门文章

  1. 网安基础入门篇(二)
  2. 30岁了,最近碰到的那些离婚的事儿
  3. 五笔编码查询工具(念青字库) 新增快捷键 | #hta #五笔 #javascript
  4. 湖南科技大学计算机学院刘红杨,湖南科技大学计算机科学与工程学院王晓亮教授指导本科生团队在机器翻译算法的准确性上取得新进展...
  5. Power Pivot按列排序
  6. 《图解HTTP》-第十一章(完结)
  7. 有一种感动叫ACM(WJMZBMR在成都赛区开幕式上的讲话)
  8. PCB原理图绘制(5)——元器件封装与原理图绘制(下)
  9. Mac 抓包工具 Charles瓷器瓶破解版安装和破解教程
  10. python开发程序知道微信好友是否已读信息吗_用Python来检测微信好友是否拉黑你...