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

[python]非零基础上手之文件操作

这个其实很像Node.js.

读取操作:

with open ('./xx.txt', 'r', encoding = 'utf -8') as file:
for i in file:print(i)
#"file"是个变量, 名称自定, 参数2代表'read', 表明为读取操作.

追加操作:

属于写入的一种,不会重写文档,在原有内容后添加.

with open('./xx.txt', 'a+', encoding = 'utf-8') as file:file.write('写入内容')

何为with:

是一种上下文管理器, with语句管理的代码块执行完毕时, 会自动关闭文件, 这是受推荐的方法,可以确保文件使用完毕后正确关闭. 当然,也可以调用文件对象的close()手动关闭:
可以在读取结构中安插try/finally结构,因为我们也不知道能不能读取成功:

file = open('xx.txt', 'r')
try:file_content = file.read()print(file_content)
finally:file.close()

写入操作:

重写所有内容.

with open('example.txt', 'w') as file:file.write('HelloWorld')

写入json:

需要额外模块.

import json
json_file_path = 'example.json'
data = { 'name': 'John Doe', 'age': 30 }with open(json_file_path, 'w')
json.dumps(data) # json对象转字符串

文件重命名:

import os
files = os.listdir('path-to-directory') # 获取目录中文件列表
for file in files:	full_path = os.path.join('path-to-directoro', pythonif os.path.isfile(full_path) # 检测文件是否存在new_filename = 'new_name'os.rename(full_path, os.path.join('path_to_directory', new_filename)) # 旧路径, 新路径

逐行读文件_获取全部行:

with open('file.txt', 'r') as file:lines = file.readlines()print(lines[0])

逐行读文件_获取单行:

with open('file.txt', 'r') as file:line0 = file.readline()line1 = file.readline()

创建文件:

import os
if not os.path.exists('./aa.txt'):
try:with open('./aa.txt', 'w') as file
except IOError as error:print (error)

创建目录:

import os
if not os.path.exists('./aadir'):
try:os.makedirs('./aadir')
except IOError as error:print (error)

删除文件:

import os
if os.path.isfile('./aa.txt')
try:os.remove('./aa.txt')
except OSError as error:print(error)
http://www.dtcms.com/a/171794.html

相关文章:

  • 【人工智能学习笔记 二】 MCP 和 Function Calling的区别与联系
  • 动态规划(5)路径问题--剑指offer -珠宝的最大值
  • 【AI论文】Phi-4-reasoning技术报告
  • nginx 核心功能 02
  • 软件架构方之旅(5):SAAM 在软件技术架构评估中的应用与发展研究
  • 基于python生成taskc语言文件--时间片轮询
  • 0.0973585?探究ts_rank的score为什么这么低
  • KaiwuDB X 遨博智能 | 构建智能产线监测管理新系统
  • LLVM Pass
  • GTS-400 系列运动控制器板卡介绍(十五)---运动模式二
  • 高效便捷的定时关机与任务管理工具
  • Room + WorkManager的Android学习总结
  • el-input Vue 3 focus聚焦
  • MAC 地址
  • NaVILA: Legged Robot Vision-Language-ActionModel for Navigation
  • 【Java学习笔记】构造器
  • Linux系统中的时间同步服务
  • 线程与进程深度解析:从fork行为到生产者-消费者模型
  • 网络Tips20-003
  • ArrayList的扩容机制(源码解析)
  • (ADC)数模转换器的不同类型对比
  • 支撑座的安装精度对滚珠丝杆性能有哪些影响?
  • SimpleLive 1.8.1 |聚合虎牙、斗鱼、哔哩哔哩及抖音直播
  • 【形式化验证】动态逻辑(DL)的定义解释与示例
  • 利用KMP找出模式串在目标串中所有匹配位置的起始下标
  • uniapp开发微信小程序时如何进行分包(新手图文)
  • Granite 4.0 Tiny:IBM也开始卷大模型?
  • 嵌入式系统基础知识
  • SMT贴片加工报价精准核算方法
  • imx6uLL应用-v4l2