当前位置: 首页 > news >正文

Python--文件操作

一、文件路径

1.1绝对路径

        绝对路径是从文件系统的根目录开始的一条完整路径。

比如:C:\users\T\test\1.txt

一般是用的反斜杠,在程序中使用该路径通常需要添加反斜杠或者r,让它不发生转义。

1.2相对路径

        相对路径是根据某个起点到达目标文件的路径。它更加灵活,通常适用于同一目录层级的文件访问。

比如:./test/1.txt  (当前目录)

        ../test/2.txt      (父级目录),此时这个文件就不是一个层级的。

二、open函数

        open函数用来打开文件,这个函数返回一个文件对象,可以进行后续的读写操作。

res = open(file_name,mode='r',encoding = 'utf-8',closefd = True)

参数解释:

mode:文件的打开模式;

closefd:在文件关闭时是否关闭文件描述符。为True则关闭。

        注意:利用open函数打开文件后一定要记得关闭释放资源。

三、文件模型

        常见的几种文件模式:

(1)'r':read只读模型;

(2)'r+':打开文件进行读写,但是必须确保文件存在,能找到位置;

(3)'w':写入模式,文件存在则覆盖,不存在则创建;

(4)'w+':打开文件进行读写,文件不存在会创建;

注意:w操作要谨慎使用,虽然是写的操作,但是他会先清空文本中的所有数据记录,然后再开始写

(5)'a':追加模式,在文件末尾追加内容;

(6)'a+':打开文件进行读写,在文件末尾追加内容。

四、读写操作

4.1读取文件

(1)read(size):size为可选参数,即读取多少字符或字节

注意:一个中文字体需要占用三个字节,英语字符还是只占一个字节。

(2)readline():从文件中读取单行;

(3)readlines():读取文件的所有行,并返回一个列表。

4.2写入文件

将内容写入文件:

(1)write(str):将str的内容写到文件指针的后面;

(2)writelines():写入一个字符串列表。

五、关闭操作

close()

将文件资源释放掉,刷新缓冲区。

六、with语句

        利用with语句打开的文件,可以不用在手动关闭文件、释放资源。

with open(path,'r') as f:

        print(f.read())

七、代码实现

    with open(csv_path,'r',encoding='utf-8-sig') as f:with open(word_index_path,'w',encoding='utf-8-sig') as f1:word_index = {}index = 1lines = f.readlines()for line in lines:line =line.replace('\n','')for word in line:if word in punctuation:continueif (word not in punctuation) and (word not in word_index):word_index[word] = indexindex += 1f1.write(str(word_index))print('字典文件处理成功')

这一段代码的意思就是从csv文件中处理字典,并将字典写入word_index。处理完成后字典文件会保存在字典的路径中。

http://www.lryc.cn/news/599753.html

相关文章:

  • MYSQL高可用集群搭建--docker
  • Kingbasepostgis 安装实践
  • 电子电气架构 --- 车载软件与样件产品交付的方法
  • 华为昇腾NPU卡 文生音频[T2A]大模型suno/bark模型推理使用
  • 线性代数 上
  • 旧物回收系统开发:搭建资源再生与环保共赢的桥梁
  • AMD官网下载失败,不让账户登录下载
  • STM32-中断配置教程(寄存器版)
  • 设计模式十:单件模式 (Singleton Pattern)
  • 《设计模式之禅》笔记摘录 - 10.装饰模式
  • 一道检验编码能力的字符串的题目
  • C# WPF 实现读取文件夹中的PDF并显示其页数
  • 《Angular+Spring Boot:ERP前端采购销售库存协同架构解析》
  • Qt 数据库事务处理与数据安全
  • Orbbec开发---数据流与数据流操作
  • 输电线路观冰精灵在线监测装置:科技赋能电网安全的新利器
  • 智慧灯杆:不止于照明,塔能科技的城市感知网络野心
  • 微算法科技(NASDAQ:MLGO)采用分布式哈希表优化区块链索引结构,提高区块链检索效率
  • C 语言 | 结构体详解:自定义数据类型的艺术
  • 现代 C++ 开发工作流(VSCode / Cursor)
  • 多场景通用车辆计数算法助力暑期交通管理
  • 【质量管理】软件缺陷管理实施方案(专业版)
  • 华为网络整套架构常用配置
  • cacti漏洞CVE-2022-46169复现
  • ThreadLocal使用及其原理和注意点
  • 虚拟机docker elasticsearch启动失败
  • 07 51单片机之定时器
  • react+threejs实现自适应分屏查看/3D场景对比功能/双场景对比查看器
  • 二分查找----6.寻找两个正序数组的中位数
  • 基于深度学习的图像分类:使用Vision Transformer(ViT)实现高效分类