文件的操作

语法: open(文件路径,访问模式,encoding=编码格式)

文件路径:
1. 指定路径
“C:\path\file.txt”
r”C:\path\file.txt”
(windows下用”\”来分隔路径
unix下用”/”分隔路径)
2. 不指定路径
file.txt,会在程序运行的目录下创建
可以使用os模块改变路径

打开文件的三种访问模式
r:只读模式,默认
w:写入模式(覆盖)
a:追加模式
wb:以二进制形式打开一个文件用于写入一般用于非文本文件,图片

编码格式:
防止中文乱码
GBK
UTF-8

文件的常用方法:
.read() 方法读取文件的全部内容
.seek() 移动指针
.write() 向文件写入字符串
.readline(num) num给数字几,就输出几个字符
.readline() 按行,一行一行的读取文件数据
.readlines() 按行读取全部内容,返回的是一个文件数据列表,每一行是列表的一个元素

对于只读模式(r)来说,如果文件不存在则报错:

file = open("text.txt","r") #text.txt  并不存在
file.close()  #调用完需要将打开的文件关闭

运行结果:

Traceback (most recent call last):File "G:/PyCharm_/python_basic/day08/demo01.py", line 1, in <module>file = open("text.txt","r")
FileNotFoundError: [Errno 2] No such file or directory: 'text.txt'

对于写入模式(w)来说,如果文件不存在,仍会报错,但会创建一个新的文件,如果文件已存在将会覆盖原文件.

例如,向C盘一个文件写入”hi!”

file = open(r"C:\Users\123\1.txt","w")
file.write("hi!")
file.close()

执行后,会在 “C:\Users\123\1.txt” 写入 “hi!”

我们使用.read()来读取刚才写进的内容

file = open(r"C:\Users\123\1.txt","r")
print(file.read())
file.close()

运行结果:

hi!  

接下来我们在上述内容后追加内容”good morning!”

#向文本内追加内容
file = open(r"C:\Users\123\1.txt","a",encoding="utf-8")
file.write(" \ngood morning!")
file.close()
#输入文本里的内容
file1 =open(r"C:\Users\123\1.txt","r",encoding="utf-8")
print(file1.read())

运行结果:

hi!
good morning!

如果我们需要一行一行的输出,可以使用.readline() 或 .readlines()

使用.readline()

file1 = open(r"C:\Users\123\1.txt","r",encoding="utf-8")
print(file1.readline())
print(file1.readline())

运行结果:

hi!good morning!

使用.readlines()会生成一个列表,所以下面的内容中,我们把列表遍历输出

#向文本内追加内容
file1 = open(r"C:\Users\123\1.txt","r",encoding="utf-8")
# print(file1.readlines()) #使用.readlines() 会生成一个列表
data = file1.readlines()
i = 1
for nr in data:print("第{}行内容为{}".format(i,nr))i=i+1

运行结果:

第1行内容为hi!第2行内容为good morning!

注意: 考虑到安全因素,文件调用完记得使用 file.close()将文件关闭.

.read() 和 .seek()
当我们使用 .read()输出完内容后,再次调用输出内容为空,是因为指针这时指向了最后,如果我们想要再次输出的话可以使用.seek()来改变指针的位置,从而再次输出.

file1 = open(r"C:\Users\123\1.txt","r",encoding="utf-8")
print(file1.read())
print(file1.read())

我们可以看到运行结果,只有一次内容输出

hi!
good morning!

使用.seek()后

file1 = open(r"C:\Users\123\1.txt","r",encoding="utf-8")
print(file1.read())
file1.seek(0)
print(file1.read())

运行结果:

hi!
good morning!
hi!
good morning!

.readline(num)的用法
例如,我们输出该文件的第一个字符

file1 = open(r"C:\Users\123\1.txt","r",encoding="utf-8")
data1 = file1.readline(1)
print(data1)

运行结果:

h
安全的打开文件(自动调用.close())
with open("test.txt","w",encoding="utf-8") as f:f.write("测试写入")with open("test.txt","r",encoding="utf-8") as f:for line in f:print(line,end="")

运行结果:

测试写入
利用os模块对文件的一些基本操作

使用内置模块时需要先引用
所以使用: import 引用
对路径可以加\表示是路径,也可以在前面加R或者r表示

import os
os.mkdir(r"C:\Users\123\one")  #在某个路径下创建文件夹,对C盘操作可能没有权限,会报错print(os.getcwd())  #获取程序运行的当前目录print(os.chdir(r"E:\1111")) #改变到某个目录下
print(os.getcwd())os.chdir("../")  #切换到上级目录
print(os.getcwd())a=os.listdir(r"E:\1111") #获取指定目录下的文件列表
print(a)os.rmdir(r"E:\1111")     #删除空的文件夹import  shutil
shutil.rmtree(r"E:\1111\444")  #删除非空的文件夹

python笔记之文件的基本操作和os模块相关推荐

  1. python目录和文件的基本操作_python学习笔记(七)——文件和目录操作

    目录和文件操作 语言只有和外部连起来操作才会实现更强大的功能,比如操作文件.数据库等,这样数据可以有一块单独存储的地方,而不是存放在内存中.更强大的是网络编程,当然这些后续都会学习.接下来学习pyth ...

  2. 笨方法“学习python笔记之文件操作

    python 与其他语言相比,操作文件非常方便,提供了良好的API. Open函数 python是以文件对象的方式来操作文件,操作文件之前首先要打开文件产生一个文件对象,以便进行后续操作. open( ...

  3. python引入文件并执行_文件操作和导入os模块执行文件和目录管理操作

    文件概念以及文本文件和二进制文件的区别 计算机的CPU如果想要访问保存在磁盘上的文件,第一步需要把磁盘上的文件数据加载到内存中.因为内存的读写速度要比磁盘的读写速度快很多. 计算机只能识别0101这种 ...

  4. python如何查询文件路径_Python使用os.listdir和os.walk获取文件路径

    情况1:在一个目录下面只有文件,没有文件夹,这个时候可以使用os.listdir 在我们的桌面上有一个file目录(文件夹),里面有三个文件 file(dir)| --|test1.txt --|te ...

  5. Python 重命名文件或目录(os.rename)

    文章目录 1 概述 2 语法:os.rename() 2.1 相对路径 2.2 绝对路径 3 扩展 3.1 os 模块详解 1 概述 #mermaid-svg-9u1Lg7aqBXqPfILR .la ...

  6. Python基础语法-文件的基本操作

    文件的基本操作 先来了解下open内置函数,open内置函数主要是用来打开文件,创建文件对象 基本格式:open('filename',mode=' ',encoding='utf-8') name ...

  7. 核心编程9 文件和文件的输入输出 (os模块)

    1  python内建函数open和file 文件打开方便读取:f = open('文件名','模式','缓冲模式')         #'r'读取,'w'写入(先清空后创建).'a'追加 详情文件模 ...

  8. python 重命名的方法_Python下OS模块重命名方法renames

    在python中有很多强大的模块,其中我们经常要使用的就是OS模块,OS模块提供了超过200个方法来供我们使用,并且这些方法都是和数据处理相关的,这里介绍下重命名这个方法. OS的重命名方法是os.r ...

  9. 初学者python笔记(文件的操作)

    当Python学到一定程度的时候,就要跟文件打交道了.到以后自己的写程序,对文件的操作是非常频繁的,因此学会对文件的操作也是Python学习的一项基础任务. 打开文件与读取文件 基本的打开操作 f = ...

最新文章

  1. php可以做ios程序吗,php写的可以在本机发送iOS push程序
  2. php 发送http请求
  3. GTK+与QT的对比
  4. 空间谱专题08:相位模糊
  5. 小程序 mpvue 使用canvas绘制环形图表
  6. 工作篇-佛山三水恒大-2020.11.13
  7. 揭秘!信息检索技术高端玩法
  8. Batch入门教程(2)
  9. 菜鸟学开店—最简收银POS系统
  10. redis 慢消费_Redis精进:List的使用和应用场景
  11. PlantUML 简明教程
  12. java web使用的主流框架介绍
  13. PS制作或编辑gif动态图
  14. java 批量发送邮件_spring boot实现异步批量发送邮件
  15. jquery获取选中和未选中的checkbox复选框
  16. Swipe 移动端滑动插件使用详解
  17. 关于发布app报90096错误,iPhone5启动图片报错
  18. 邓白氏码申请以及企业级账号申请流程
  19. 计算机管理恢复分区,Win10硬盘新增的恢复分区是什么?
  20. 公交来了 1.3.0 发布

热门文章

  1. 视频直播/远程会议中的AI关键技术探索应用
  2. 直播预告:与九位专家聊聊Codec和AOM Summit
  3. SRS流媒体服务器——单机环境搭建和源码目录介绍
  4. 技术人的少年感,和年龄无关。
  5. 解决redis启动时的警告
  6. boost的multi_index性能测试
  7. leetcode 121. 买卖股票的最佳时机
  8. 高并发负载均衡(三):LVS的DR模型试验搭建
  9. 【Java基础】static初始化块
  10. netty系列之:netty中的ByteBuf详解