Python:文件的操作

注意:本文引用自专业人工智能社区Venus AI

更多AI知识请参考原站 ([www.aideeplearning.cn])

Python的os库主要用于与操作系统进行交互,它提供了多种功能,使得在Python程序中处理操作系统级任务变得容易。这里是一些常用功能的概览:

  1. 文件和目录操作:创建、删除、修改文件和目录,以及遍历目录树。
  2. 路径管理:提供了处理文件路径的功能,包括路径的拼接、分解以及检查路径的有效性。
  3. 环境变量访问:读取和设置环境变量,这对于访问操作系统级信息非常有用。
  4. 执行系统命令:允许从Python程序中运行操作系统命令。
  5. 文件属性:获取和修改文件的属性,例如权限、最后修改时间等。
  6. 进程管理:允许获取与当前进程相关的信息,如进程ID等。
  7. 文件的读取:允许用户获取系统目录中的文件,并进行一些增删改查,创建,删除等常见文件操作。

os库的这些功能对于需要与操作系统层面交互的任务来说非常重要,特别是在文件和目录管理、环境设置方面。由于它是Python的一部分,因此可以直接在Python环境中使用,无需安装任何额外的包。

Python OS 库文件操作示例

本笔记本展示了 Python os 库用于文件操作的一些基本示例。

文件路径操作

import os# 路径拼接
joined_path = os.path.join('folder', 'file.txt')# 路径分割
dir_name, file_name = os.path.split(joined_path)# 检查路径是否存在
path_exists = os.path.exists(joined_path)# 检查是否为文件
is_file = os.path.isfile(joined_path)# 检查是否为目录
is_dir = os.path.isdir('folder')

文件操作

# 重命名文件 (需要文件存在)
os.rename('old_name.txt', 'new_name.txt')# 删除文件 (需要文件存在)
os.remove('file_to_delete.txt')# 创建和删除目录
os.mkdir('new_dir')
os.rmdir('new_dir')

目录操作

# 获取当前工作目录
current_dir = os.getcwd()# 改变当前工作目录
os.chdir('..')  # 更改到上级目录
os.chdir(current_dir)  # 更改回原目录# 列出目录内容
dir_contents = os.listdir('.')

遍历目录树

# 遍历目录树
for dirpath, dirnames, filenames in os.walk('.'):print('Directory:', dirpath)print('Subdirectories:', dirnames)print('Files:', filenames)

环境变量

# 获取环境变量
path_env = os.environ.get('PATH')# 设置环境变量 (影响当前进程)
os.environ['MY_VAR'] = 'some_value'

文件的打开与关闭

在Python,使用open函数可以打开一个已经存在的文件,或者创建一个新文件。 语法格式为open(文件名,访问模式),代码如下:

f = open('test.txt', 'w')

常见访问模式的具体说明详见下表  关闭文件的函数为close(),代码如下:

# 新建一个文件,文件名为:test.txt    
f = open('test.txt', 'w')    
# 关闭这个文件    
f.close()

文件的读和写

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

此外,你可以根据需求选择不同的访问模式。

在w模式下,如果文件不存在则会创建新文件,如果文件存在则会清空原文件。

在a模式下,如果文件存在则在原文件上继续写入,如果文件不存在则会创建新文件。

在r模式下,文件将以读取模式打开,如果文件不存在,会抛出错误。代码如下:

f = open('test.txt', 'w')    
f.write('hello world, i am here!')    
f.close()

使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。实例如下:令test.txt的文本内容是hello world,i am here!,代码如下:

#wenjian.py
f = open('test.txt', 'r')    
content = f.read(5)    
print(content)    
print("-"*30)    
content = f.read()    
print(content)    
f.close() 
hello
------------------------------world, i am here!


注意,如果使用读了多次,那么后面读取的数据是从上次读完后的位置开始的。
此外,除了read()函数,还有一些其他函数也可以完成读取任务,具体如下:
(1)函数readlines()可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
(2)函数readline()用于读取文件中的一行,包含最后的换行符“\n”

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

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

相关文章

【Linux】Ubuntu使用Netplan配置静态/动态IP

1、说明 Ubuntu 18.04开始,Ubuntu和Debian移除了以前的ifup/ifdown命令和/etc/network/interfaces配置文件,转而使用ip link set或者/etc/netplan/01-netcfg.yaml模板和sudo netplan apply命令实现网络管理。 Netplan 是抽象网络配置描述器,用于配置Linux网络。 通过netpla…

2024全新快递平台系统独立版小程序源码|带cps推广营销流量主+前端

2024全新快递平台系统独立版小程序源码|带cps推广营销流量主前端程序源码 程序介绍 快递代发快递代寄寄件小程序可以对接易达云洋一级总代 快递小程序,接入云洋/易达物流接口,支持选择快递公司,三通一达,极兔,德邦等&…

适口性猫粮哪个牌子肉源好性价比高?主食冻干性价比排行前十分享

随着科学养猫知识的普及,主食冻干喂养越来越受到养猫人的青睐。主食冻干不仅符合猫咪的饮食天性,还能提供均衡的营养,有助于维护猫咪的口腔和消化系统健康。然而,许多猫主人在选择主食冻干产品时感到迷茫。本文将深入探讨如何为猫…

蓝桥杯刷题 Day36 倒计时26天 纯练题的一天

[蓝桥杯 2022 省 B] 积木画 题目描述 小明最近迷上了积木画,有这么两种类型的积木,分别为 I 型(大小为 2个单位面积) 和 L 型 (大小为 3 个单位面积): 同时,小明有一块面积大小为2N 的画布,画布由2N 个 11 区域构成。…

一些很实用的技巧提高自动化测试覆盖率

自动化测试一直是测试人员的核心技能,也是测试的重要手段之一。尤其是在今年所谓的互联网寒冬的行情下,各大企业对测试人员的技术水平要求的很高,而测试人员的技术水平主要集中在三大自动化测试领域,再加测试辅助脚本的编写&#…

大模型知识积累——幻觉

什么是大模型幻觉 在大语言模型的文本生成场景下,幻觉是指一本正经的胡说八道。逻辑连贯的自然表述中,有理论或者事实错误,捏造事实等问题。 幻觉问题的危害 LLM幻觉可能产生传播错误知识的后果。对于医疗应用中结果安全和可信AI尤为重要&a…

气液分离器的概念和原理

气液分离器也叫低压储液器,在热泵或制冷系统中使用,主要是将出蒸发器、进压缩机气流中的液滴分离出来,防止压缩机发生液击,用于工质充注量较大、压缩机进气可能带液且压缩机对湿压缩较敏感的情况 。 液击主要出现在活塞式压缩机中…

PMP能两周快速通过吗?

两周时间有点赶,一般备考要2个月左右,有时间尽量多准备准备。 分享一篇左羊学霸的备考总结,希望能帮你 前言 作为⼀名通过PMP项⽬管理认证并且拿到3A成绩 ( PMP认证最好成绩) 的 学习者, 来跟⼤家分享下我考取PMP证书的动机与过程…

学会Python爬虫只需9步

爬虫是一种技术实现的功能,大部分编程语言都可以实现爬虫,但是对于初学者来说,想要快速学习爬虫技术,建议大家学习Python爬虫。Python编程语言相对于Java要更简单入门更容易,同时相对PHP使用范围更广泛,有利…

用户需求助力产品创新 4大注意事项

通过用户需求进行产品创新,是项目应遵循的原则,也是项目成功的关键因素之一。通过深入理解用户需求,有助于明确产品功能和定位,使得产品更符合用户期望。有助于树立正确的创新方向,推动企业的发展。如果不了解用户需求…

软件工程-第2章 软件过程

开发逻辑,是正确获取软件的关键。 2.1 软件生存周期过程 编程之前的工作。软件生存周期是软件产品或系统的一系列相关活动的全周期。95年发布国际标准,“ISO/IEC软件生存周期过程12207-1995”,给出了软件开发需要的任务,即回答了…

WIN10系统不定时蓝屏,终止代码:KERNEL_DATA_INPAGE_ERROR,且无法保存蓝屏日志解决办法

程序代码园发文地址:WIN10系统不定时蓝屏,终止代码:KERNEL_DATA_INPAGE_ERROR,且无法保存蓝屏日志解决办法-程序代码园小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,WIN10系统不定时蓝屏,终止代码&am…

汽车电子零部件(6):DMS/OMS、CMS

前言: 有一个部件过去不曾有,而如今有可能要标准化标配化,那就是Driver Monitoring System (DMS)驾驶员监控系统、Occupant Monitoring System (OMS)乘客监控系统和Camera Monitor System(CMS)摄像头监控系统。 汽车视觉技术的创新推动先进驾驶辅助系统的变革(ADAS),并…

2024年3月的计算机视觉论文推荐

从去年开始,针对LLM的研究成为了大家关注的焦点。但是其实针对于计算机视觉的研究领域也在快速的发展。每周都有计算机视觉领域的创新研究,包括图像识别、视觉模型优化、生成对抗网络(gan)、图像分割、视频分析等。 我们今天来总结一下2024年3月上半月份…

了解常用开发模型 -- 瀑布模型、螺旋模型、增量与迭代、敏捷开发

目录 瀑布模型 开发流程 开发特征 优缺点 适用场景 螺旋模型 开发流程 开发特征 优缺点 适用场景 增量与迭代开发 什么是增量开发?什么是迭代开发? 敏捷开发 什么是敏捷开发四原则(敏捷宣言)? 什么是 s…

从0开始写一个问卷调查APP的第11天

1.今日任务 分析:上次我们实现了从数据库中成功的查找到对应问卷的问题并在前端展示出来,那么今天我们增加难度。在数据库中插入多项选择问题,在接口中查找到并在前端显示出来。 2.实现 2.1数据库中插入测试数据 我们先查看一下表的结构 2.2接口实现…

代码随想录阅读笔记-哈希表【三数之和】

题目 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a b c 0 ?请你找出所有满足条件且不重复的三元组。 注意: 答案中不可以包含重复的三元组。 示例: 给定数…

Android和IOS应用开发-Flutter 应用中实现记录和使用全局状态的几种方法

文章目录 在Flutter中记录和使用全局状态使用 Provider步骤1步骤2步骤3 使用 BLoC步骤1步骤2步骤3 使用 GetX:步骤1步骤2步骤3 在Flutter中记录和使用全局状态 在 Flutter 应用中,您可以使用以下几种方法来实现记录和使用全局状态,并在整个应…

git:码云gitee仓库提交以及React项目创建

git:码云gitee仓库提交以及React项目创建 1 前言 先注册准备好码云gitee的账户,并在gitee上新建react仓库并提交代码至远程仓库。 2 操作方式 准备新建React项目并提交到码云gitee上。 (1)进入官网:https://gitee…

day-23 买卖股票的最佳时机 II

思路:因为要求的是最大收益,所以可以假设每天都买,第二天卖 利用一个数组来统计,如果收益为负则ans[i]0,否则ans[i]prices[i1]-prices[i] code: class Solution {public int maxProfit(int[] prices) {int nprices.length;int a…