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

Python 语法基础 IO

文章目录

    • 一 打开和关闭
      • 基础
      • with open
    • 二 文件属性
    • 三 读取
      • 1 read(n)
      • 2 readline(n)
      • 3 readlines()
    • 四 访问权限
    • 五 光标定位
      • tell()
      • seek()
    • 六 编码格式
    • 7 图片 视频 赋值
    • 8 os模块

无序导入任何模块,直接写就可以

一 打开和关闭

基础

f=open("IOTest.txt")#默认路径在项目根路径下,可以填完整路径来指定别的位置,现在默认是只读模式,别人可以再打开这个文件f.close()#打开后必须手动关闭,否则会一直占用

with open

代码块执行完毕后会自动关闭文件,无序调用close

withopen("IOTest.txt","r")asf:f.read()

二 文件属性

f=open("IOTest.txt")print(f.name)#名字 IOTest.txtprint(f.mode)#打开方式 r只读print(f.closed)#是否已经关闭 Falsef.close()

三 读取

1 read(n)

n读取多少个字符,不填或负值会全部读取

f=open("IOTest.txt")print(f.read())#输出 firstLine01f.close()

2 readline(n)

一次只读一行,下次调用读下一行,没有下一行不会报错,返回空字符串
参数n,如果不填读一整行,如果填,在当前行读固定长度,注意每行不是从0开始,而是从上行的n开始,比如n=2第一行读了2两个字符,第二行会读第3 4个字符

f=open("IOTest.txt")print(f.readline())#输出 firstLine01print(f.readline())#输出 firstLine02print(f.readline())#输出 firstLine03f.close()

循环读取

#while循环f=open("IOTest.txt")whileTrue:line=f.readline()ifnotline:#空行不会影响判断breakprint(line)f.close()#for循环f=open("IOTest.txt")forlineinf:print(line)f.close()

3 readlines()

读取所有行,返回列表

f=open("IOTest.txt")txt=f.readlines()print(txt)#['firstLine01\n', 'firstLine02\n', 'firstLine03']f.close()

四 访问权限

a是
+会影响执行效率,尽量使用只读只写
append,不是all
w模式打开文件,会直接清空文件的内容,即使没做任何操作

写入

f=open("IOTest.txt","w+")#print(f.read())f.write("11")f.seek(0)#写完后光标位于文本结尾,要先复位才能读取到内容print(f.read())f.close()

五 光标定位

tell()

显示当前光标的位置,并非索引

f=open("IOTest.txt","r")print("文件指针当前的位置",f.tell())# 输出 文件指针当前的位置 1f.close()

seek()

参数1 索引
参数2 以哪里为起点 0文件开始 1光标当前位置 2文件结尾 默认=0
使用参数2 必须使用 rb wb ab 模式打开 b是按字节打开
使用参数1没有限制

#文件内容:12345f=open("IOTest.txt","rb")#按字节打开f.seek(1,0)#移动到开头往后数第一个位置f.seek(3)#移动到开头往后数第一个位置f.seek(1,1)#从当前位置往后移1print(f.read(1))#输出 b'5'f.seek(0)#移动到开头print(f.read(1))#输出 b'1'f.close()

六 编码格式

Python在windows的默认文件系统编码格式为gbk,我们通常使用utf-8

withopen("IOTest.txt","r",encoding="utf-8")asf:print(f.read())

7 图片 视频 赋值

操作二进制文件要加 b
两个img在同一个作用域,withopen是 不会创建新的作用域,这一点和c#不同,img此处是全局变量

withopen("图片.png","rb")assource:#打开图片img=source.read()withopen(r"C:\Users\DH009\Desktop\复制的图片.png","wb")astarget:#复制图片target.write(img)

8 os模块

py自带的模块,可以操作文件夹
需要导入 os

importos os.rename("IOTest.txt","IONewName.txt")#重命名os.remove("图片.png")#删除os.mkdir("MyNewDir")#创建文件夹os.rmdir("MyNewDir")#删除文件夹print(os.getcwd())# 获取当前目录 输出E:\PythonProject\PYLearprint(os.listdir())# 获取指定(默认为当前目录)目录子文件夹和文件列表 输出['.idea', '.venv', 'IONewName.txt', 'py01.py', 'SingletonPy.py', 'TestPackage', '__pycache__']print(os.listdir("../"))# ../表示上级目录
http://www.gsyq.cn/news/1635753.html

相关文章:

  • 做网课直播还在用手比划?这两款键盘鼠标显示工具,让观众看清你的每一步操作
  • HoRain云--Java文档注释规范与最佳实践指南
  • Java多态:一个父类引用,搞定千变万化的子类
  • 堆与优先队列的并发安全实现机制的技术7
  • 【花雕动手做】行空板 K10 系列实验之TT马达双路差速智能小车方案三号特色底盘
  • 2025微信小程序反编译终极指南:如何用unveilr快速提取小程序源码
  • 黑苹果配置革命:OpCore Simplify - 自动化EFI生成终极解决方案
  • Deepin Boot Maker终极指南:3步制作Linux启动盘的最佳实践
  • 林伽一 · AI科技日报 |LongCat-2.0宣称中国芯片突破,Claude Sonnet 5自报分数解析
  • OpenCore Legacy Patcher完整指南:让老款Mac免费升级最新macOS的终极方案
  • 用 AI 写代码做家庭调酒小程序:真正难的是把酒库到保存跑通
  • YOLOv13超图视觉与NCNN部署实战指南
  • 【OpenHarmony/HarmonyOs 】实验室首页细节拆解:分类侧栏、搜索筛选与推荐探索交互
  • python___模块
  • 如何快速解决Windows热键冲突:终极热键检测工具使用指南
  • OpCore Simplify技术深度解析:揭秘黑苹果自动化配置的核心原理
  • 免费获取百度文库文档的终极方案:开源页面清理脚本完整指南
  • 如何用BilibiliDown三步搞定B站视频下载?小白也能掌握的完整指南
  • STM32F072RB与SLO2016构建工业隔离通信系统
  • Pyfa终极指南:5个技巧快速掌握EVE Online免费Python舰船配装工具
  • C#集成YOLOv8目标检测:ONNX Runtime本地部署实战指南
  • Topit:如何在Mac上实现多窗口置顶管理,终极效率提升指南
  • 【Springboot毕设全套源码+文档】基于springboot个性化音乐推荐系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 第四章 QT窗口
  • 豆包vs Deepseek:不是谁更聪明,而是谁更适合你的具体任务
  • 影刀RPA 版本控制与团队协作:流程导出导入-Git管理实战
  • 2026年AI竞赛与黑客松参赛指南与实战技巧
  • LLM与进化计算融合:智能代码优化新范式
  • DeepBump终极指南:3步实现AI驱动的法线贴图与高度贴图生成
  • 阿根廷VS佛得角美加墨世界杯超级大黑马能否挑落梅西战平潘帕斯?