博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python系统学习:第三周之文件操作
阅读量:5051 次
发布时间:2019-06-12

本文共 2334 字,大约阅读时间需要 7 分钟。

#                                       ***********第一部分*********** # 1.读文件,首先利用一个变量承装文件  最主要注意的是encoding的问题,看看是否是格式问题 f = open(file='D:\study\少妇白洁.txt', mode='r', encoding='GBK')  # file等关键字可以直接省略 mode 指模式 # 对变量使用方法read进行读取 data = f.read() # 输出 print(data) # 关闭 f.close() #                                       ***********第二部分*********** # 上回打开文件的时候会遇到编码问题,如何避免这种问题(去掉指定encoding会默认utf-8) f = open(file='D:\study\少妇白洁.txt', mode='rb')  # 读取模式更改为rb, 略去指定编码,将以二进制读取文件 data = f.read() print(data) f.close() #                                       ***********第三部分*********** # 导入第三库查看编码规则:chardet, # 在cmd界面找到pip的安装路径,在python安装路径下。输入:pip3 install chardet下载 # pycharm软件打开:file-setting-project-interproject点击+下载 import chardet f = open(file='D:\study\少妇白洁.txt', mode='rb')  # 使用chardet模块必须以rb模式读取文件 result = chardet.detect(f.read()) print(result) f.close() # 查出编码之后,进行解码 f = open(file='D:\study\少妇白洁.txt', mode='rb') data = f.read() print(data.decode('GBK')) #                                       ***********第四部分*********** # 文件的写入:新建内容 f = open("D:\study\僻邪剑谱.txt", "w", encoding="utf-8") data = f.write("第一章     欲练此功,必先自宫") f.close() # 文件的追加:保留原有文件   a的意思是append f = open("D:\study\僻邪剑谱.txt", 'a') data = f.write("\n第二章     不宫也行") f.close() # 文件的循环:文件过大时,需要边缓存边查看 fi = open("D:\study\僻邪剑谱.txt", "r") data = fi.read() for line in data:     print(line) fi.close() #                                       ***********第五部分*********** # 文件混合读写模式 f = open("D:\study\少妇白洁.txt", 'r+', encoding='utf-8') data = f.read() print("前:", data) f.write("访问网址:w'w'w.baidu.com") print(f.read())  # 文件中存在,但是读不出,因为此时光标在最后一层,需要用seek方法回到前面 f.seek(0) print(f.read()) f.close() # 光标  seek 指定光标位置    tell  输出光标位置 # 文件操作方法 # truncate 从开头到光标当前位置截断 # flush 将缓存中的内容读到磁盘 # readline 执行一次读一行文件内容 #                                       ***********第六部分*********** # 文件修改:通过循环进行替换 import os f_old_name = "D:\study\僻邪剑谱.txt" f_new_name = "%s.new" % f_old_name old_name = "望海潮" new_name = "王海潮" f_o = open(f_old_name, 'r', encoding='utf-8') f_n = open(f_new_name, 'w', encoding='utf-8') for line in f_o:     if old_name in line:         line = line.replace(old_name, new_name)     f_n.write(line) f_n.close() f_o.close() os.rename(f_new_name, f_old_name) 最重要的还是要多写多练,有的时候看着视频觉得代码一模一样,但是自己写的时候会遇到各种问题,解决问题的过程就是自己慢慢提高的过程

转载于:https://www.cnblogs.com/niushichong/p/10028370.html

你可能感兴趣的文章
[Swift]LeetCode128. 最长连续序列 | Longest Consecutive Sequence
查看>>
[Swift通天遁地]一、超级工具-(9)在地图视图MKMapView中添加支持交互动作的标注图标...
查看>>
js版base64()
查看>>
poj3006---素数筛法
查看>>
c语言结构体排序示例
查看>>
openresty nginx systemtap netdata
查看>>
[Angular] Make a chatbot with DialogFlow
查看>>
sd卡无法启动及zc706更改主频后可以进入uboot无法启动kernel的坑
查看>>
代理模式
查看>>
MongoDB 集合(Collection)对应的物理文件
查看>>
HighCharts绘制图表
查看>>
AWD批量Get_flag
查看>>
8.引用函数
查看>>
Gmail企业级邮箱的outlook配置
查看>>
在 Ubuntu 14.04 中配置 PXE 服务器
查看>>
AOP 横向切面-热插拔缓存
查看>>
dijkstra
查看>>
eclipse错误整理
查看>>
Linux搭建tomcat文件服务器
查看>>
一步一步分析Caliburn.Micro框架(序)
查看>>