Python——文件操作

news2024/10/7 4:37:29

目录

一、文件操作——基础

1.1打开文件

1.2关闭文件

1.3文件访问模式

二、文件读写

2.1 在文件中写入数据

2.2读取文件的数据

2.3 读数据(readlines)

2.4 读数据(readline)

三、文件相关操作

3.1 文件重命名

3.2 删除文件

3.3 创建文件夹

3.4 获取当前目录

3.5 改变默认目录


一、文件操作——基础

1.1打开文件

在python中,使用open函数,可以打开已经存在的文件,或者创建一个新文件,open(文件名,访问模式)

示例:

f = open(‘test.txt’,’w’)

#test.txt  文件名
#w  访问模式

如果没有‘test.txt’文件,相当于新建了‘test.txt’文件

1.2关闭文件

f = open(“text.txt”,”w”)

f.colse()#关闭这个文件

1.3文件访问模式

二、文件读写

2.1 在文件中写入数据

使用write()可以向文件写入数据

示例:

f = open("test.txt","w") #打开文件,w模式(写模式),文件不存在就新建
f.write("hello world,I am here!")   #将字符串写入文件中
f.close()   #关闭文件

2.2读取文件的数据

使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中的所有数据

示例:

#读:read方法,读取指定的字符,开始时定位在文件头部,每执行一次向后移动指定字符数
f = open("test.txt","r")
content = f.read(5) #一次读五个字符
print(content)
print('-'*30)
content = f.read()
print(content)
f.close()

2.3 读数据(readlines)

与read()没有参数时一样,readlines可以按照行的方式把整个文件中的内容进行一次性的读取,并且返回的是一个列表,其中每一行的数据为一个元素

文件中的内容:

示例:

f = open("test.txt","r")
content = f.readlines() # 一次性读取全部文件为列表,每行一个字符串
print(content)

i = 1
for temp in content:
    print("%d:%s"%(i,temp))
    i += 1
f.close()

2.4 读数据(readline)

readline一次读取一行

f = open("test.txt","r")
content = f.readline() #1:hello world,I am here!--1
print("1:%s"%content)

content = f.readline() #2:hello world,I am here!--2
print("2:%s"%content)
f.close()

三、文件相关操作

3.1 文件重命名

os模块中的rename()可以完成对文件的重命名操作rename(需要修改的文件名,新的文件名)

import os
os.rename(“毕业论文.txt”,”毕业论文-最终版.txt”)

3.2 删除文件

os中的remove()可以完成对文件的删除操作
remove(待删除的文件名)

import os 
os.remove(“毕业论文.txt”)

3.3 创建文件夹

import os
os.mkdir("我是文件夹") 

3.4 获取当前目录

import os
os.getcwd()

3.5 改变默认目录

import os
os.chdir(“../”)

3.6删除文件夹

使用os模块中的rmdir()函数可以删除一个文件夹。如果文件夹中有文件,则无法删除

import os
os.rmdir("我是要被删除的文件夹")

3.7判断文件是否存在

使用os.path.isfile()函数可以判断一个文件是否存在。如果存在,则返回True,否则返回False。

import os
if os.path.isfile("filename.txt"):
    print("File exists")
else:
    print("File does not exist")

3.8判断文件夹是否存在

使用os.path.isdir()函数可以判断一个文件夹是否存在。如果存在,则返回True,否则返回False。

import os
if os.path.isdir("foldername"):
    print("Folder exists")
else:
    print("Folder does not exist")

3.9获取文件名

使用os.path.basename()函数可以获取文件路径中的文件名。

import os
foldername = os.path.basename("path/to/foldername")
print(foldername)

3.10获取文件 / 文件夹路径

使用os.path.abspath()函数可以获取文件 / 文件夹 的绝对路径。

#文件

import os
filepath = os.path.abspath("filename.txt")
print(filepath)

#文件夹
import os
folderpath = os.path.abspath("foldername")
print(folderpath)

3.11复制文件

使用shutil模块中的copyfile()函数可以复制一个文件。

import shutil

shutil.copyfile("sourcefilename.txt", "destinationfilename.txt")

#将名为"sourcefilename.txt"的文件复制到名为"destinationfilename.txt"的文件中。如果目标文件已经存在,那么它将被覆盖。

3.12移动文件

使用shutil模块中的move()函数可以移动一个文件。

import shutil

shutil.move("sourcefilename.txt", "destinationfilename.txt")

在这个例子中,"sourcefilename.txt"是要移动的文件的当前路径(文件名),而"destinationfilename.txt"是要将文件移动到的目标路径(文件名)。如果目标文件已经存在,那么这个函数将会覆盖目标文件

3.13获取文件大小

 使用os.path.getsize()函数可以获取一个文件的大小,单位为字节。

import os
filesize = os.path.getsize("filename.txt")
print(filesize)

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

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

相关文章

骨传导耳机到底好用吗,2023年骨传导耳机该怎么选

骨传导耳机到底好用吗,骨传导耳机是一种完全颠覆你听音体验的黑科技!不仅能够让你享受音乐的同时保护你的听力,还能让你感受到一种前所未有的新鲜感。很显然,骨传导耳机是真的好用,现在市面上有许多品牌的骨传导耳机&a…

Octave Convolution学习笔记 (附代码)

论文地址:https://export.arxiv.org/pdf/1904.05049 代码地址:https://gitcode.com/mirrors/lxtgh/octaveconv_pytorch/overview?utm_sourcecsdn_github_accelerator 1.是什么? OctaveNet网络属于paper《Drop an Octave: Reducing Spatia…

算法通关村第三关-黄金挑战数组问题

大家好我是苏麟 , 今天带来第三关黄金挑战关 . 今天有几道小题 数组中只出现一次的元素 题目 : LCR 070. 有序数组中的单一元素 : 有序数组中只出现一次的元素 分析 : 因为这里肯定会出现一个单个数字 , 所以不考虑都是双数的存在 . 第一种方法 : 最直接的方法就是遍历…

vulnhub靶机Venus

下载地址:The Planets: Venus ~ VulnHub 主机发现 arp-scan -l 端口扫描 nmap --min-rate 1000 -p- 192.168.21.132 端口版本扫描 nmap -sV -sT -O -p22,8080 192.168.21.132 对于http-alt HTTP Alternative Services 介绍 | JerryQu 的小站 (imququ.com) 总结…

React 你还在用 Redux 吗?更简化的状态管理工具(Recoil)

以往传统的 Redux 状态管理工具使用起来代码太过于复杂。 你需要通过纯函数触发 action 再去修改 data 中定义的数据,而且要通过接口请求数据还需要借助 redux - think 这个中间件才能完成。。。 更加方便使用的工具:Recoil ~ 由 facebook 推出契合 R…

了解Docker的文件系统网络模式的基本原理

Docker文件系统 Linux基础 一个Linux系统运行需要两个文件系统: bootfs rbootfs bootfs(boot file system) bootfs 即引导文件系统,Linux内核启动时使用的文件系统。对于同样的内核版本的不同Lunx发行版本,其boot…

3ds Max2024安装教程(最新最详细)附网盘资料

目录 一.简介 二.安装步骤 一.简介 3DS Max是由Autodesk公司开发的一款专业三维建模、动画和渲染软件,广泛应用于影视、游戏、建筑和工业设计等领域。 3DS Max的主要特点和功能包括: 三维建模:3DS Max提供了各种强大的建模工具&#xff…

vue elementui 动态表头、表头合并、合并行、合并列、行根据某字段内容一致的进行合并、表格列展开收起功能

效果图&#xff1a; 1、表头第1、2列合并 第一种写法&#xff08;普通表头&#xff09;&#xff1a; <el-tableref"main":data"tableData"border:header-cell-style"headerStyle"style"width: 100%;"><el-table-column al…

微软服务器数据库 Navicat Premium 连接

需要固定IP&#xff0c;在服务器的网络里面加上。 需要打开SSL,入下图 只用打开&#xff0c;不用选择秘钥&#xff0c;证书等

Centos下用nodejs实现一个简单的web服务器

WebRTC是音视频直播中最常用的一个框架&#xff0c;在使用的过程中&#xff0c;我们就需要实现一个服务器端。本文以nodejs实现一个服务器为例&#xff0c;讲述一下在centos下如何用nodejs实现一个简单的web服务器。 一、安装nodejs 在linux环境下安装nodejs有多重方式&#x…

从 0 到 1 ,手把手教你编写《消息队列》项目(Java实现) —— 编写客户端

文章目录 一、设计核心类Connection 类Channel 类ConnectionFactory 类 二、代码编写Connection 类Connection 类Channel 类 一、设计核心类 Connection 类 Connection类有以下特点与功能 表示一个TCP连接该类持有 Socket对象可以写入请求,读取响应管理多个 Channel 对象 Ch…

万万没想到!| 三代宏病毒组研究还能这么干!

书接上回&#xff0c;我也是一个万万没想到啊&#xff0c;陈卫华&#xff0c;赵兴明老师的三代宏病毒组研究&#xff0c;居然让我追到续集了&#xff01; 前一回中&#xff0c;利用三代单分子测序技术&#xff0c;科研团队成功构建了中国人肠道噬菌体目录&#xff08;CHGV&…

云安全—K8S API Server 未授权访问

0x00 前言 master节点的核心就是api服务&#xff0c;k8s通过REST API来进行控制&#xff0c;在k8s中的一切都可以抽象成api对象&#xff0c;通过api的调用来进行资源调整&#xff0c;分配和操作。 通常情况下k8s的默认api服务是开启在8080端口&#xff0c;如果此接口存在未授…

【验证码系列】用逆向思维深度分析滑动验证码(含轨迹算法)

文章目录 1. 写在前面2. 抓包分析3. 接口分析4. 滑动验证码弹出分析5. 滑动验证分析6. 轨迹生成算法实现7. 生成W参数值算法 1. 写在前面 验证码是机器人防护&#xff08;即爬虫&#xff09;常用重要手段之一&#xff01;在爬虫这个领域内专精某一项&#xff08;验证码识别、JS…

七人拼团模式:颠覆你的购物观念,499元产品让你赚翻天!

七人拼团模式是一种创新的消费模式&#xff0c;通过聚集消费者的购买力&#xff0c;让消费者能够以更优惠的价格购买到优质的商品。下面我们以499元的产品为例&#xff0c;详细介绍七人拼团模式的玩法规则和收益计算。 玩法规则&#xff1a; 消费者购买499元的指定产品后&…

wireshark捕获DNS

DNS解析&#xff1a; 过滤项输入dns&#xff1a; dns查询报文 应答报文&#xff1a; 事务id相同&#xff0c;flag里 QR字段1&#xff0c;表示响应&#xff0c;answers rrs变成了2. 并且响应报文多了Answers 再具体一点&#xff0c;得到解析出的ip地址&#xff08;最底下的add…

write_edif 生成 AD9361 配置的自定义IP核

将AD9361配置文件设置为顶层 设置里&#xff1b; -mode out_of_context 替换文字 综合 导出 IP 核 write_edif -security_mode all D:/tops.edfD:/tops.edf write_verilog -mode synth_stub D:/tops_stub.vD:/tops_stub.v 调用 AD9361 IP 核

OpenAI将推出ChatGPT Plus会员新功能,有用户反馈将支持上传文件和多模态

&#x1f989; AI新闻 &#x1f680; OpenAI将推出ChatGPT Plus会员新功能&#xff0c;有用户反馈将支持上传文件和多模态 摘要&#xff1a;OpenAI为ChatGPT Plus会员推出了一些新功能&#xff0c;包括上传文件、处理文件和多模态支持。用户不再需要手动选择模式&#xff0c;…

视频直播与制作软件 Wirecast Pro mac中文版软件功能

Wirecast Pro mac是一款专业的视频直播和流媒体软件&#xff0c;由Telestream公司开发和发布&#xff0c;适用于各种场景&#xff0c;包括企业会议、体育赛事、音乐演出、教育培训等。 Wirecast Pro mac软件功能 支持多摄像头连接&#xff0c;实现多角度拍摄和切换。 可导入图片…

电脑文件夹怎么压缩?分享三个简单的方法!

为了节省存储空间和便于管理&#xff0c;压缩文件夹可以将多个文件或文件夹整合成一个压缩文件&#xff0c;从而节省存储空间。此外&#xff0c;压缩文件夹还可以方便地管理文件&#xff0c;那么电脑文件夹怎么压缩呢&#xff1f;一起来看看吧~ 一、电脑自带的压缩功能 1、找到…