首先第一步,打开文件,有两个函数可供选择:open() 和 file()
①. f = open('file.txt',‘w')
...
file.close()
②. f = file('file.json','r')
...
file.close()#记得打开文件时最后不要忘记关闭!
open() 和 file() 都是Python的内建函数,返回一个文件对象,具有相同的功能,可以任意替换。使用语法为:
f = open(fileName, access_mode='r', buffering=-1)
第1个参数是文件名, 2,3参数有默认值,参数2 决定了是以读的方式‘r' ?还是写的方式‘w' ?抑或别的方式打开文件。
打开的方式有:
r —— 读 ; w —— 写 ; a —— 追加,从EOF开始写,即在文件末尾写
r+ w+ a+ —— 都是以读写方式打开
rb —— 二进制 读 ; wb —— 二进制 写 ;rb+ wb+ ab+ —— 二进制读写
例子:
fp = open('C:\Users\MPC\Desktop\说明.txt')# 默认以读的方式打开 fp = open('test.txt','w')# 写方式打开 fp = open('data.json','a')#追加方式打开
第二步,对文件进行操作
当得到文件对象这个句柄以后(如例子中的fp),就可对文件进行操作了。
文件对象的内建操作方法有:输入,输出,文件内移动,以及杂项操作
1. 输入
函数: read(),readline(),readlines()
将文件中的内容读入 到 一个字符串变量/列表 中
read() : 读取整个文件到字符串变量中
例子:
fp = open('C:\Users\MPC\Desktop\说明.txt') all_file = fp.read()
read()有一个可选的size参数,默认为-1,表示文件将会被读至末尾(EOF)
readline() :读取打开文件中的一行,然后返回整行包括行结束符到 字符串变量中
readline()也有一个可选的参数size,默认-1,表示读至行结束符停止
readlines() : 读取整个文件,返回一个 字符串列表 ,列表中的每个元素都是一个字符串,代表一行
例子:
fp = open('C:\Users\MPC\Desktop\说明.txt') lines = fp.readlines() for line in lines: ... fp.close()
或者 第2 3 行 简写为:for line in fp.readlines():
在python2.3之后由于迭代器和文件迭代(即文件对象成为了他们自己的迭代器)的引入,
上例有一种更高效的实现方式:
fp = open('C:\Users\MPC\Desktop\说明.txt') for line in fp: ... fp.close()
推荐使用这种方法!
2. 输出
函数:write() , writelines()
将字符串/列表 输出到文件中
write() : 将字符串输出到文件
>f= open('test.txt','w') >f.write('Helloworld!') >f.close() >f= open('test1.txt','w') >f.write('Welcome\nto\n China!') >f.close() >f= open('test1.txt','w') >f.write('Welcome\nto\n China!') >f.close()
writelines(): 将字符串列表 写入 文件,注意行结束符并不会自动被加入,如果需要,必须手动在每行的结尾加入行结束符。
什么意思呢? 看下例:
>s= ['你好','伙计'] >f= open('test.txt','w') >f.writelines(s) >f.close() >s= ['你好\n','伙计'] >f= open('test.txt','w') >f.writelines(s) >f.close() >f = open(r'I:\python\test.txt','w') >f.write('First line\n') >f.write('Second line\n') >f.write('Third line\n') >f.close() >lines = list(open(r'I:\python\test.txt')) >lines ['Firstline\n', 'Second line\n', 'Third line\n'] >first,second,third = open(r'I:\python\test.txt') >first 'Firstline\n' >second 'Secondline\n' >third 'Thirdline\n'
3. 文件内移动
函数: seek() tell()
seek() :移动文件读取指针到制定的位置
tell(): 返回文件读取指针的位置
seek()的三种模式:
(1)f.seek(p,0) 移动当文件第p个字节处,绝对位置
(2)f.seek(p,1) 移动到相对于当前位置之后的p个字节
(3)f.seek(p,2) 移动到相对文章尾之后的p个字节
以上就是小编为大家带来的python 读写txt文件 json文件的实现方法全部内容了,希望大家多多支持~
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 群星《歌手2024 第13期》[FLAC/分轨][325.93MB]
- 阿木乃《爱情买卖》DTS-ES【NRG镜像】
- 江蕾《爱是这样甜》DTS-WAV
- VA-Hair(OriginalBroadwayCastRecording)(1968)(PBTHAL24-96FLAC)
- 博主分享《美末2RE》PS5 Pro运行画面 玩家仍不买账
- 《双城之战2》超多新歌MV发布:林肯公园再次献声
- 群星《说唱梦工厂 第11期》[320K/MP3][63.25MB]
- 群星《说唱梦工厂 第11期》[FLAC/分轨][343.07MB]
- 群星《闪光的夏天 第5期》[320K/MP3][79.35MB]
- 秀兰玛雅.1999-友情人【大旗】【WAV+CUE】
- 小米.2020-我想在城市里当一个乡下人【滚石】【FLAC分轨】
- 齐豫.2003-THE.UNHEARD.OF.CHYI.3CD【苏活音乐】【WAV+CUE】
- 黄乙玲1986-讲什么山盟海誓[日本东芝版][WAV+CUE]
- 曾庆瑜1991-柔情陷阱[台湾派森东芝版][WAV+CUE]
- 陈建江《享受男声》DTS-ES6.1【WAV】