首页 > 编程语言 >25:Python文件操作

25:Python文件操作

时间:2024-08-21 17:15:51浏览次数:8  
标签:25 utf 文件 Python data encoding print txt open

#文件,读取
# f.flush() 将文件内容从内存刷到硬盘
# f.closed 文件如果关闭则返回True
# f.encoding 查看使用open打开文件的编码
# f.tell() 查看文件处理当前的光标位置
# f.seek(3) 从开头开始数,将光标移动到第三个字节
# f.truncate(10) 从开头开始算,将文件只保留从0-10个字节的内容,文件必须是以写方式打开,但是w和w+除外

f = open('wen.txt', encoding='utf-8')
data = f.read()
print(data)
# #1要在同一个文件夹下,如不在则提供完整路径,2.文件类型要附带上
# print(f.readable())
print(f.readline())
print(f.readlines())
f.close()

#文件,写入
f = open('wen.txt','w',encoding='utf-8') #w会清空wen.txt文件里面的所有内容
f.write('1111\n') #写入内容,会在wen.txt里面显示
f.write('22222\n')
f.writelines(['fdasf\n','666\n']),#文件里面全是字符串,写其他类型如数字,会报错
f.close() #文件如果关闭则返回True

#文件,a用法
f = open('wen.txt','a',encoding='utf-8') #w会清空wen.txt文件里面的所有内容
f.write('ttttd\n') #写到文件最后
f.close()

with open ('xx','r',encoding='gbk') as src_f,\
open('xx_new','w',encoding='gbk') as dst_f:
data=src_f.reed()
dst_f.write(data)

#文件,r
src_f = open('xxx.txt','r',encoding='utf-8')
data=src_f.read() #先读取
src_f.close()

dst_f=open('xxx_new.txt','w',encoding='utf-8')
dst_f.write(data) #再写入另外一个
dst_f.close()

#文件2,r
src_f = open('xxx.txt','r',encoding='utf-8')
data=src_f.readlines() #先读取
src_f.close()

dst_f=open('xxx_new.txt','w',encoding='utf-8')
dst_f.writelines(data[0]) #再写入另外一个
dst_f.close()

#自动关闭
with open('a.txt','w') as f: #有with结尾不用谢close
f.write('111\n')

#rb的方式,不能指定编码
f=open('test11.py','rb')
data=f.read()
print(data) #windows的换行是\r\n,linux的是\n

#把二进制转换成字符串形式
#‘字符串’------encode------>>bytes
#bytes-------decode------->>'字符串'
print(data)
print(data.decode('utf-8'))

# 打开文件的模式
# 文件句柄 = open('文件路径', '模式')
# Character Meaning
# ‘r' open for reading (default)
# ‘w' open for writing, truncating the file first
# ‘a' open for writing, appending to the end of the file if it exists
# ‘b' binary mode
# ‘t' text mode (default)
# ‘+' open a disk file for updating (reading and writing)
# ‘U' universal newline mode (for backwards compatibility; should not be used in new code)

f=open('test2.py','wb') #b的方式不能指定编码
f.write(bytes('1111\n',encoding='utf-8')) #编码过程
f.write(bytes('1111\n',encoding='utf-8')) #编码过程
f.write('程序员'.encode('utf-8')) #直接编码
# f=open('test2.py',wb)

f=open('test2.py','ab')
open('a:1txt','wt')

print(f.closed) #判断是否关闭
print(f.encoding) #文件打开的编码

f=open('b.txt','r+'.encoding='latin-1') #以拉丁文的方式,尽可能多的
data=f.read()
print(data)
f.write('bacdedfas') #写中文会报错
print(f.tell)
f.flush() #flush将文件内容从内存刷到硬盘
f.readline()
f.seek(0) #光标跑到字节
print(f.tell)
print(f.read())
f.truncate(10) #截取,

# seek.txt hello 你好 123 123
f=open('seek.txt','r',encoding='utf-8')
print(f.tell())
f.seek(10) #默认的是从0 开始数
print(f.tell()) #这行代码使用 tell 方法获取文件指针的当前位置
f.seek(3,0) #0代表从文件开头开始数
print(f.tell())

# seek.txt hello 你好 123 123
f=open('seek.txt','rb') #要改成rb ,utf-8要去掉
print(f.tell())
f.seek(10) #默认的是从0 开始数
print(f.tell()) #这行代码使用 tell 方法获取文件指针的当前位置
f.seek(3,1) #1代表从上一次光标10的位置开始数,
print(f.tell())
f.seek(-5,2) #2代表从最后开始数,因为默认是包含\r\n的要算进去
print(f.tell())

# 取日志最后一行的方法
f=open('日志文件','rb')
for i in f:
offs=-10
while True:
f.seek(offs,2)
data=f.readlines()
if len(data) > 1:
print('文件的最后一行是%s' %(data)[-1].decode('utf-8'))
break
offs*=2



标签:25,utf,文件,Python,data,encoding,print,txt,open
From: https://www.cnblogs.com/liu-zhijun/p/18372125

相关文章

  • 北京劳保展-2025年中国劳动保护用品展览交易会-参展报名处
    2025北京劳保展,作为行业的重要交流平台,将为您提供无限商机。这里有最前沿的劳保理念,最先进的防护设备,最广泛的合作机会。无论您是劳保用品的制造商、经销商,还是致力于提升劳动保护水平的专业人士,这里都有您的一席之地。  2025北京劳保展,将为您呈现最全面的劳保产品,最先进的......
  • 基于python+flask框架的校园失物招领系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在繁忙的校园生活中,学生们因疏忽大意或急于赶时间而遗失物品的情况时有发生。传统的失物招领方式往往依赖于公告板、校园广播或口口相传,这......
  • 基于python+flask框架的培训机构信息管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着教育行业的蓬勃发展,培训机构作为教育体系中的重要组成部分,其规模与数量日益增加。然而,传统的人工管理模式已难以满足培训机构高效运营......
  • 基于python+flask框架的翼城县土特产合作社管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景翼城县,以其丰富的自然资源和独特的地理环境,孕育了众多优质的土特产品,成为地方经济发展的重要支柱。然而,传统土特产的生产与销售模式往往受......
  • 记Java使用ftp下载文件失败的坑
    使用的jar包<dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.6</version></dependency>背景:需要从ftp服务器上拿到指定目录下的多个文件booleansuccess=ftp......
  • Python自动化脚本学习整理
     10个常用Python自动化脚本https://blog.csdn.net/csdn1561168266/article/details/135757528?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522172422930716800184162692%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=1724229307168......
  • python环境配置问题-python+pysimpleGUI
    大家好,今天接到一个客户需求,帮忙配置pycharm后,代码需要可以正常运行用户需求如下:安装库:python环境/pysimpleGUI跑通代码:环境太复杂,需要清理环境后重新配置客户的项目先卸载那些冗余、冲突的Python版本 ,重新配置新环境代码跑通!总结一下客户项目并不复杂,只是自己......
  • 【Linux】python版本控制和环境管理
    @目录1.查看目前python的版本2.添加软件源并更新3.选择你想要下载的版本4.警示:没必要设置默认版本误区千万千万不要覆盖python3软链接解决办法5.pip软件包管理最省心稍微麻烦换源网上有很多教程都是教导小白去官方下载之后编译安装。但是,小白连cmake是什么都不知道,这种教导方式......
  • 【WPF】WPF项目.exe可执行文件在非开发环境打不开
    如题,做一个小工具,开发完之后把bin/release文件夹打包发他,但在他电脑打不开。打开可靠性监视器:按下Win+S,在搜索栏中输入“控制面板”,然后点击进入。在控制面板中选择“系统和安全”。然后选择“安全与维护”。在“安全与维护”窗口中,展开“维护”部分,并点击“查看可靠性......
  • 豆瓣8.4,时隔9年,经典Python编程三剑客之一第2版重磅上市!
    时隔9年,畅销近20万册,豆瓣评分8.4,被誉为'Python编程三剑客'之一的《Python极客项目编程》终于迎来了第2版中文版的问世!作为一本经典图书的延续,第2版不仅基于Python3.9进行了全书修订,还包含AI语音识别等5个全新项目,让你跟上Python的最新潮流。 这本书因前沿的技术和易懂的代码......