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

Python学习:文件操作

时间:2024-07-06 16:59:07浏览次数:18  
标签:文件 读取 编码 Python 学习 read 内容 close

一、文件编码

定义:文件编码技术指的是翻译的规则,记录了如何将内容转换成电脑能看得懂的二进制码,以及如何将二进制翻译回可识别内容。

常用计算机编码:UTF-8,GBK,Big5等,其中UTF-8是全球通用的计算机编码。

注意:以什么编码翻译成二进制的,就需要用什么编码规则翻译回来,不然会出现乱码。

二、文件的读取

定义:文件的读取分为三个步骤:打开文件、读取文件、关闭文件。

2.1 打开文件

语法:open(name,mode,encoding)

name:是要打开的目标文件的字符串(可以包含文件所在的具体路径)

mode:设置打开文件的模式(访问模式):只读(r);写入(w)-文件存在则删除原内容从头开始编辑,不存在则创建新文件;追加(a)-内容会被写到已有内容之后等。

encoding:编码格式(推荐使用UTF-8)

2.2 读取文件(读出的数据不管是什么都按字符串存储)

1.read( )方法—决定文件要读取的数据的长度

语法:文件对象.read(num)

num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,就表示读取文件中所有的数据。

2. readlines( )方法

用法:可以按照行的方式把整个文件中的内容一次性读取,并返回一个列表,其中文件中每一行的数据为一个字符串元素。 

注意:如果程序当中多次调用read,则第二次调用read会从第一次调用read的结尾后接着读取。

3. readline( )方法

用法:每用一次则调用一行数据。

2.3 写操作(w,a)

write方法步骤:
1. f.write("hello world") #将hello world 写入缓冲区(程序的内存中)

2. f.flush( ) # 内容刷新,此时才将缓冲区里的内容真正的写入文件

close()语句也具有内容刷新到文件中的功能,因此如果有close的语句,可以省略第二步。

注意:

1. 这样做的目的是避免频繁操作硬盘,导致效率下降。

2. 如果是追加(a),其余步骤都一样,区别是不会清楚原有内容也不会创建新文件,内容是加在已有内容之后。

3. 如果写入的需要换行,可以使用“\n”来写出换行符。

2.4 关闭文件

如果最后不关闭文件,那么在执行python代码期间,该文件会一直被python程序占用。

1. close()方法

语法:文件对象.close( )

2.with open语句

执行完操作文件相关语句后可以自动关闭文件。

语法:with open("python.txt","r") as f:

三、文件的遍历

用f接收一个文件对象

for line in f:语句每次遍历得到的line是文件中一行的内容,以字符串的形式存在line里

标签:文件,读取,编码,Python,学习,read,内容,close
From: https://blog.csdn.net/qq_68583518/article/details/140211111

相关文章

  • Tornado Web框架学习(一)
    tornado框架1、单文件下对应用的配置2、简单的get请求测试3、错误重定向测试importtornadoimportasynciofromosimportpathfromtornado.optionsimportdefine,options#definedatabaseandserverconfig#topleveldefine("port",default=8888,help="ServerP......
  • 学生Java学习路程-1
    ok,到了一周一次的总结时刻,我大致会有下面几个方面的论述:1.这周学习了Java的那些东西2.这周遇到了什么苦难3.未来是否需要改进方法等几个方面阐述我的学习路程。这周我主要进行了java开发程序EclipseForJavaDeveloper跟jdk的安装,其中在安装jdk过程中,因为没有安装在C盘中,所以......
  • 还不会python循环的同学往这看过来啦
    先简单介绍什么是循环吧:有条件地、重复地做一件事,每一次做的事情不同但类似。老规矩先举个栗子:(1)你在家里打王者荣耀,打完一把再开一把、打完一把再开一把、打完一把再开一把......不想玩了吃饭去了 循环结束(2)你是一个苦逼的程序员,早上睡醒了去上班,晚上天黑了下班回家。第......
  • Python异常、模块与包
    一、了解异常定义:当python运行检测到错误时,会无法继续执行,这就称为异常,也成为报错(bug)。二、异常的捕获方法定义:当出现异常时,可以不管,那么程序会停止执行,也可以对BUG进行提醒,整个程序继续运行,捕获异常的作用是提前假设某处会出现异常,做好提前准备,当真的出现异常时,可以有后续......
  • 个人python面试准备的一些题型
    Python类方法vs静态方法类方法(ClassMethods)类方法使用@classmethod装饰器定义,它们的第一个参数通常命名为cls,代表类本身。特点:可以访问和修改类的状态不能访问实例的状态可以用来定义替代构造器示例:classMyClass:class_variable=0@classmethoddefi......
  • 《从零开始学习Python爬虫:顶点小说全网爬取实战》
    顶点小说装xpathhelperGitHub-mic1on/xpath-helper-plus:这是一个xpath开发者的工具,可以帮助开发者快速的定位网页元素。Question:加载完插件点击没反应Answer:将开发人员模式关闭即可爬虫介绍分类:搜索引擎:爬取范围广聚焦爬虫:爬取范围聚焦介绍:程序发起请求(request),......
  • Python OS模块操作文件
    在Python中,可以使用os模块主要对文件进行重命名,删除等一些操作以下为os模块常用的方法示例:重命名操作importosos.rename('Test.txt','Test_重命名.txt')#参数1:要重命名的源文件#参数2:对源文件要重新命名的名称删除文件importosos.remove('Test_重命名.tx......
  • 关于P2P-文件共享软件的一些思考
    笔者最近想开发一套P2P文件共享软件,对于UDP/TCP协议的NAT穿透在过年期间也算是打通了。目前就我对P2P文件共享软件开发的一些探索这里记录一点心得。关于Kademlia分布式DHT算法,我在网上查阅了不少文章,我觉得这篇文章对我有着重大影响【分布式哈希表DHT(Kademlia算法)——通俗......
  • 【Python实战因果推断】23_倾向分3
    目录PropensityScoreMatchingInversePropensityWeightingPropensityScoreMatching另一种控制倾向得分的常用方法是匹配估计法。这种方法搜索具有相似可观测特征的单位对,并比较接受干预与未接受干预的单位的结果。如果您有数据科学背景,您可以将匹配视为一种简单的......
  • Python统计实战:时间序列分析之二阶曲线预测和三阶曲线预测
    为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。(以下练习题来源于《统计学—基于Python》。请在Q群455547227下载原始数据。)练习题下表是某只股票连续35个交易日的收盘价格(前3行和后3行......