Python语言:文件的操作与使用

news2024/11/26 9:34:52

Python语言可以对电脑中的文件进行一系列操作,包括文件的打开与关闭,文件内容的读取和追加等。

 打开文件

       语法:使用open函数

  • 使用python语言的内置open函数打开一个文件,里面有三个参数可以指定文件的路径,操作方式,编码格式。参数之间用逗号隔开。 
  • 常见的打开模式有:“r”读取,“w”写入,“a”追加。

        语法格式:

                        变量名 = open("文件路径","操作方式",encoding="编码格式")

        以只读的模式打开一个文本文档并查看类型。

#  打开一个文件
#
f = open("E:/13.txt","r",encoding="UTF_8")

# 查看文件的类型

print(type(f))

     运行结果如下:

读取文件内容

注意点:读取文件的内容需要以只读的方式打开一个文件。

  • read()方法:读取文件中的全部内容,返回类型是一个字符串。
  • reandlines()方法:读取文件的全部行,并封装到列表中。
  • readline()方法:读取文件的一行内容,返回类型是一个字符串。
  • 使用for循环的方法读取文件的全部内容,返回类型是一个字符串。

read()方法的具体讲解:

语法格式:

                变量名.reand()

  1. 括号内没参数会读取文件的全部内容。
  2. 括号内有参数会读取指定内容。

括号内没参数会读取文件的全部内容。

f = open("E:/13.txt","r",encoding="UTF_8")
# 文件的读取,使用read()方法 会返回一个字符串
# 格式:变量名.read() 括号内不写参数读取文件全部内容,有参数读取指定内容
print(f.read())

 运行结果如下:

括号内有参数会读取指定内容。

# 有参数读取指定内容
f = open("E:/13.txt","r",encoding="UTF_8")
print(f.read(10))

运行结果如下:

 readlines()方法读取文件中的全部行,并封装到列表中。

语法格式:

                变量名.readlines()

使用 readlines()方法读取文件中的全部行并查看返回类型。

f = open("E:/13.txt","r",encoding="UTF_8")
# # readlines()读取文件的全部行,并封装到列表中
print(f.readlines())
print(type(f.readlines()))

 运行结果如下:

readline()方法:读取文件的一行内容,返回类型是一个字符串。

语法格式:

                变量名.readlinee()

使用 readline()方法读取文件中的一行内容并查看返回类型。

f = open("E:/13.txt","r",encoding="UTF_8")
# readline()读取文件的一行内容
print(f.readline())
print(type(f.readline()))

运行结果如下:

使用for循环来读取文件的全部内容并查看返回类型。

f = open("E:/13.txt","r",encoding="UTF_8")
# for循环去读取文件内容
for a in f :
    print(a)
    print(type(a))

运行结果如下:

说明:for循环会返回文件的全部内容,因为截屏的原因,不能展示全部,读者可自行尝试。

写入文件内容

注意点:可以用只写的方式创建一个空文件或者打开一个已有的文件。

语法格式:

                变量名.write()

以只写的方式创建一个空文件,并使用write()方法给空文件赋值。

# 创建一个空文件
# write()写入内容

# w的注意点,文件存在进行写入操作,会清除文件中已有的内容
f = open("E:/14.txt","w",encoding="UTF-8")
f.write("123")

运行结果如下:

  以只写的方式打开已有的文件,并使用write()方法给文件赋值会清除已有内容,只留下重新写入的内容。

# 创建一个空文件
# write()写入内容

# w的注意点,文件存在进行写入操作,会清除文件中已有的内容
f = open("E:/14.txt","w",encoding="UTF-8")
f.write("456")

运行结果如下:

文件内容的追加

文件内容的追加,顾名思义,就是文件中已经有内容了,继续给文件添加内容。

注意:以追加的方式打开一个已有的文件,并使用write()方法继续写入内容。

我们先打开一个已有内容的文件,并查看内容。

以追加的方式打开一个已有的文件,并使用write()方法继续写入内容。

# 使用文件中的a操作
f = open("E:/11.txt","a",encoding="UTF-8")
# # write写入内容
f.write("python")

 运行结果如下:

文件的关闭

有始有终嘛,打开文件然后进行一系列操作后,得关闭文件啊,不关闭文件怎么行。

使用close()方法关闭文件

提示:上文案例中的代码中皆没有关闭文件的代码,读者练习的时候自行加上文件关闭代码。

语法格式:

                变量名.close()

f = open("E:/11.txt", "r", encoding="UTF-8")
print(f.read())
f.close() # 关闭文件

文件的自动关闭

这里有个小问题,要是有人忘了写关闭文件的代码呢,文件就一直运行的呢,这可不行,有什么帮办法可以一劳永逸解决老是忘写关闭文件的代码呢,还真的有,python语言的作者给你整的明明白白的。

通过 with open 语法打开文件,可以进行文件的自动关闭。

通过with open 语法打开文件并读取文件的全部内容并进行文件的自动关闭。

with open("E:/11.txt","r",encoding="UTF_8") as f :  # f是变量名
    print(f.read())

运行结果如下:

本文结束。

                

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1208189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

抖音电商的野心,中小商家的风口

文丨新熔财经 作者丨寒蝉鸣 反向消费的大浪潮,不会辜负任何一个抓住风口的平台。过去是拼多多,如今是唯品会。 靠着响应新时代消费者对“质价比”的需求,消失在大众视线许久的唯品会,不仅守住了电商老前辈的行业地位&#xff0…

Gempy 实现地理位置3D模型的展示以及导出

1. 首先安装python gempy 包 pip install gempy python 版本 3.10 这个很重要,版本不同可能会报错 2. gdal 可能会报错, 一下地址根据python版本下载,然后移入到python解释器环境中, Script文件中,然后cmd ,pip install 文件名安装即可 Releases cgohlke/geospatial-wheels …

元数据管理,数字化时代企业的基础建设

随着新一代信息化、数字化技术的应用,众多领域通过科技革命和产业革命实现了深度化的数字改造,进入到以数据为核心驱动力的,全新的数据处理时代,并通过业务系统、商业智能BI等数字化技术和应用实现了数据价值,从数字经…

Failed to restart network.service: Unit network.service not found.

执行systemctl restart network命令,报错Failed to restart network.service: Unit network.service not found. 执行 yum install network-scripts命令 再次执行,正常

每日一练:Python中实现将阳历转换为农历

农历是中国传统的农业历法,与阳历(公历)有所不同。在Python中,我们可以使用第三方库 lunardate 来实现阳历到农历的转换。以下是一个简单的示例,演示如何在Python中执行这个转换过程。 1.安装 lunardate 库 首先&…

Python+Qt多点最短路径(最优路径)算法实现

程序示例精选 PythonQt多点最短路径(最优路径)算法实现 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《PythonQt多点最短路径(最优路径)算法实现》编写代码,代码整洁&#xff0…

DDD设计模式需要在存储层之前就需要有ID,如何实现?

在DDD设计领域中, 聚合根 或者实体在存储层之前就需要有id。一般采用如下类提前生成,然后直接落库。 DDD元素 在使用DDD设计系统时,主要包括Entity,Value Object,Service,Aggregate,Repository,Factory,Domain Event,Moudle等元素 在建模时,Entity可以用来代表一个事物…

数据分析的流程:CRISP-DM方法和SEMMA方法

CRISP-DM方法 SEMMA方法 角色与职责:EDIT数字化模型

Springboot 程序实现加密,禁止 jadx 反编译

在Spring Boot中实现程序加密和禁止jadx反编译是一个复杂的问题。虽然无法完全禁止反编译,但可以通过一些技术手段来提高代码的安全性。 以下是一些可能的措施: 使用混淆工具:使用Java代码混淆工具(如ProGuard或YGuard&#xff0…

比较LeNet、AlexNet、VGG和ResNet模型及其优缺点的实际实验。

一、说明 卷积神经网络,有很多种类,这不仅仅是各种试验或尝试。而且是已经设计好的网络存在若干不尽人意之处,需要弥补和改进。因此,本文就是记录这些网络的优缺点,从新意上说,本文全无,但是从启…

Sandbox: bash(5613) deny(1) file-write-create 错误解决

Showing Recent Errors Only Sandbox: bash(5613) deny(1) file-write-create /Users/xx/Dev/UniappLearn/MSLUniappDemo/Pods/resources-to-copy-MSLUniappDemo.txt image.png 解决方法 build setting搜索ENABLE_USER_SCRIPT_SANDBOXING,YES(默认&…

企业如何利用好用户画像对客户进行精准营销?提高营销转化?

随着市场竞争的加剧,企业对于客户的需求和行为越来越关注,如何利用好用户画像对客户进行精准营销,提高营销转化,成为企业关注的焦点。 一、了解用户需求和行为 首先,企业需要了解客户的需求和行为,包括客户…

AK F.*ing leetcode 流浪计划之半平面求交

欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击。 本期话题:半平面求交 背景知识 学习资料 视频讲解 https://www.bilibili.com/video/BV1jL411C7Ct/?spm_id_from333.1007.top_right_bar_window_history…

excel用RAND函数、或者RAND.NV函数生成随机数、这两个函数的区别

用RAND函数生成大于0小于1的随机数 插入-》函数: 选择RAND函数: 点击“继续”: 点击“确定”,就生成随机数了: 用RAND.NV函数生成一个大于0小于1的随机数 步骤跟RAND函数相同,只不过选择的是RAN…

[RK3568][Android12.0]--- 系统自带预置第三方APK方法

Platform: RK3568 OS: Android 12.0 Kernel: 4.19 Rockchip默认提供了机制来预置第三方APK, 方法很简单: 1. 在device/rockchip/rk3568创建preinstall目录(如果要可卸载,那就创建preinstall_del目录) 2. 将你要预安装的APK放进此目录即可 preinstall 不…

Karmada更高效地实现故障转移

随着云原生技术的发展,其应用场景不断扩大。越来越多的企业开始将应用程序部署在 Kubernetes 集群中,随着 Kubernetes 集群规模的不断扩大,也带来了许多管理挑战,例如多集群间负载均衡、资源调度、故障转移等问题。为了解决这些问…

μC/OS-II---时间管理(os_time.c)

目录 时间管理相关(os_time.c)Task延迟按时、分、秒、毫秒延时恢复被延时的Task返回系统当前的Tick计数值设置系统的Tick计数值 时间管理相关(os_time.c) Task延迟 void OSTimeDly (INT32U ticks) {INT8U y; #if OS_CRITI…

MHA实验

MHA: 什么是MHA masterhigh availabulity :基于主库的高可用环境下:主从复制,故障切换 主从的架构: MHA:最少要一主两从 mysql的单点故障问题,一旦主库崩溃,MHA可以在0-30秒内可以自动完成故障切换 M…

1m照片尺寸怎么调?三个方法解决!

为了满足不同的需求,比如上传到网站、存储在移动设备上或传输给他人等,将照片尺寸调整到1M可以有效地减少照片占用的存储空间,同时保持相对较高的图像质量。下面三种好用的方法。 方法一:使用嗨格式压缩大师 1、打开软件&#xf…

VEX —— Half-edges

目录 一,概述 二,等效 三,函数 在一些VEX函数,可将边看成为每个面非共享的半边; 一,概述 在houdini,边通常被视为面之间无方向且共享的,然而,对于一些任务&#xff08…