博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 文件处理总结
阅读量:6999 次
发布时间:2019-06-27

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

例如读取文件名为:poem.txt 并且字符编码为 gbk

内容:

北国风光,千里冰封,万里雪飘。

望长城内外,惟余莽莽;大河上下,顿失滔滔。
须晴日,看红装素裹,分外妖娆。
江山如此多娇,引无数英雄竞折腰。
惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。
一代天骄,成吉思汗,只识弯弓射大雕。
俱往矣,数风流人物,还看今朝。

1.读取文件内容

f = open('poem.txt','r',encoding = 'gbk')

data = f.read()

f.close()

或者为了代码更佳简洁,不必调用f.close()方法:

with open('poem.txt','r',encoding = 'gbk') as f:

  print(f.read())

 

注意:read()方法会一次性把所有内容读取出来返回一个str,还有其他的读取方式,例如:

read(size):每次最多读取指定字符长度的内容,返回一个str

readlines():一次读取文件所有内容,按行返回一个list

readline():每次只读取一行内容

 

2.写入文件

f = open('poem.txt', 'w',encoding='gbk')

f.write('Hello')

f.close()

或者

with open('poem.txt', 'w', encoding='gbk') as f:

  print(f.write('hello'))

 

3. 如果想要只打印文件中某个字,例如打印“望”:

with open('poem.txt','r',encoding='gbk') as f:

  f.seek(32)

  print(f.read(1))

输出结果:

#seek(): 把操作文件的光标移到指定位置,但是seek的长度是按字节算的,

字符编码存每个字符所占的字节长度不一样。例如gbk中两个字节为一个字。

 

4.  如果要想删除某些内容,例如删除此诗的第二行:

import os file_name = 'poem.txt' new_file_name = 'new_poem.txt' str = '山舞银蛇,原驰蜡象,欲与天公试比高。' f = open(file_name,'r',encoding='gbk') f_new = open(new_file_name,'w',encoding='gbk') for i in f:     if str in i:         i = ''         f_new.write(i)     else:         f_new.write(i) f.close() f_new.close() os.replace(new_file_name,file_name)  #新建一个文件,把改好的内容写入新文件,最后用新文件替换老文件

 或者

poem = [] with open('poem.txt','r+',encoding='gbk') as f:     for line in f:         poem.append(line)     poem.pop(1)     f.seek(0)     f.truncate()     for i in poem:         a = i         f.write(a) #把内容放进内存,在列表中修改后,清空原文件再写入内容 truncate([size]):截取文件中指定字节数的内容,指定长度的话,就从文件的开头开始截断指定长度,其余内容删除; 不指定长度的话,就从文件开头开始截断到当前位置,其余内容删除。 5.把字符串"Luffy",将小写字母全部转换成大写字母,将大写字幕转换成小写字幕,然后输出到一个文件"test.txt"中保存。
a = "Luffy" with open('test.txt','w',encoding = 'utf-8') as f:     f.write(a.swapcase()) #s.swapcase(): 方法用于对字符串的大小写字母进行转换
 

 

转载于:https://www.cnblogs.com/zoe0920/p/9404306.html

你可能感兴趣的文章
js中数组的合并和对象的合并
查看>>
解决 UE4 无法找到。generated.h 办法
查看>>
python 读取SQLServer数据插入到MongoDB数据库中
查看>>
TCP的三次握手与四次挥手(详解+动图)
查看>>
装饰器
查看>>
shell基础(八)-循环语句
查看>>
python3.6 安装jupyter,打不开notebook
查看>>
【转】loadrunner场景对性能测试策略的映射
查看>>
JMeter性能测试,完整入门篇
查看>>
[转]怪异的CheckedListBox数据绑定
查看>>
.Net的异步机制(委托Delegate) - STEP 1
查看>>
Django配合使用Jquery post方法
查看>>
hadoop再次集群搭建(3)-如何选择相应的hadoop版本
查看>>
spring mvc default-servlet mvc:resources mvc:default-servlet-handler区别
查看>>
ORACLE存储过程 练习系列一 关键字 部门树
查看>>
理解 Visual C++ 应用程序的依赖项(msdn)
查看>>
HTML初步学习9
查看>>
Dubbo&Zookeeper运行原理
查看>>
viewstate加密(转)
查看>>
nginx 设置websocket支持
查看>>