Python文件的操作示例的详细讲解

1. 文件的读写原理:

文件的读写称为I/O操作。

操作原理:

.py文件是用解释器去运行,调用OS操作系统的资源,去操作磁盘上的文件。

操作流程: 在去操作一个文件的文件的时候,首先打开或者创建一个文件,进行读或者写。
读: 从文件拿到内存当中来
写:把内存的文件放入文件中

最后进行关闭资源。

内置函数: open() 可以创建或者打开一个文件

语法规则:
file=open(filename [mode,encoding]

打开模式默认为只读
默认文本中的字符编码格式为gbk

# 作者:互联网老辛
# 开发时间:2021/4/5/0005 8:23

file=open('a.txt',encoding='utf-8')
print(file.readlines())
file.close()

readlines这样会把读取的数据写入一个列表中。

2. 常用的文件打开模式

文件操作:
os.mknod(“test.txt”) 创建空文件
fp = open(“test.txt”,w) 直接打开一个文件,如果文件不存在则创建文件

关于open 模式:

参数 含义
r 以只读的模式打开文件,文件的指针会放到文件的开头
w 以写方式打开,
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
b 以二进制方式打开文件,不能单独使用,需要和其他模式共用,比如rb
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )

案例1:

# 作者:互联网老辛
# 开发时间:2021/4/5/0005 8:23

file=open('b.txt','w')
file.write("python")
file.close()

这样会新建一个b.txt,如果原来就已经有了,就替换。

二进制文件: 把数据用字节的方式进行存储,无法用记事本打开。比如mp3.图片

3. 文件对象的常用方法

方法 含义
fp.read([size]) #size为读取的长度,以byte为单位
fp.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分
fp.readlines([size]) #把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。
fp.write(str) #把str写到文件中,write()并不会在str后加上一个换行符
fp.writelines(seq) #把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。
fp.close() #关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。 如果一个文件在关闭后还对其进行操作会产生ValueError
fp.flush() #把缓冲区的内容写入硬盘
fp.fileno() #返回一个长整型的”文件标签“
fp.isatty() #文件是否是一个终端设备文件(unix系统中的)
fp.tell() #返回文件操作标记的当前位置,以文件的开头为原点
fp.next() #返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。
fp.seek(offset[,whence]) #将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。
fp.truncate([size]) #把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

4. 目录的相关操作

目录操作:

  • os.mkdir(“file”) 创建目录
  • 复制文件:

shutil.copyfile(“oldfile”,“newfile”) oldfile和newfile都只能是文件
shutil.copy(“oldfile”,“newfile”) oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

  • 复制文件夹:

shutil.copytree(“olddir”,“newdir”) olddir和newdir都只能是目录,且newdir必须不存在

  • 重命名文件(目录)

os.rename(“oldname”,“newname”) 文件或目录都是使用这条命令

  • 移动文件(目录)

shutil.move(“oldpos”,“newpos”)

  • 删除文件

os.remove(“file”)

  • 删除目录

os.rmdir(“dir”)只能删除空目录
shutil.rmtree(“dir”) 空目录、有内容的目录都可以删

  • 转换目录

os.chdir(“path”) 换路径

案例:

# 作者:互联网老辛
# 开发时间:2021/4/5/0005 8:23

import os
#os.system('notepad.exe')  #打开记事本
#os.system('calc.exe')  #打开计算器
##直接调用可执行文件

#os.startfile('D:\\Software\\WeChat\\WeChat.exe')  #打开微信
print(os.getcwd())  #查看当前目录
print(os.listdir('../vippython'))  #查看vippython中包含的目录
os.mkdir('d_file') #创建文件夹

到此这篇关于Python文件的操作示例的详细讲解的文章就介绍到这了,更多相关Python文件操作详解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在 Python 中使用 7zip 备份文件的操作

    我在按照 Byte of python一步步的学习Python, 在学到'解决方案'的时候,原文的实例 "backup_ver1.py" 是用zip备份文件. 这里面我有几点不一样的地方: 我的电脑没有zip,我用的是7zip: 原文直接用'zip'命令备份,我直接使用7z命令报错. 使用7z命令备份之前,需要把7zip的安装目录添加到系统环境变量Path中:这时候我可以在CMD中执行7z,但是在python中还是报错,"7z is not recognized as an

  • python基础之文件操作

    1.打开文件 open()函数简介 : 打开文件使用open函数,可以打开一个已经存在的文件,如果没有这个文件的话,会创建一个新文件 完整的语法格式为: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) 参数说明:(一般只会用到前三个) file: 必需,文件路径(相对或者绝对路径). mode: 可选,文件打开模式 encoding: 一

  • Python文件操作及内置函数flush原理解析

    1.打开文件得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 示例文件 '你好呀' 我是于超 嗯 再见 文件操作基本流程 f=open('chenli',encoding='utf-8') first_line=f.readline() print('第一行是:',first_line) print('我是分割线'.center(9,'-')) #9代表字符串总共9长度 data=f.read() #读取所有内容 print(data) #不指定打开编码,即python解释

  • Python通过m3u8文件下载合并ts视频的操作

    前段时间,接到一个需求,要求下载某一个网站的视频,然后自己从网上查阅了相关的资料,在这里做一个总结. 1. m3u8文件 m3u8是苹果公司推出一种视频播放标准,是一种文件检索格式,将视频切割成一小段一小段的ts格式的视频文件,然后存在服务器中(现在为了减少I/o访问次数,一般存在服务器的内存中),通过m3u8解析出来路径,然后去请求,是现在比较流行的一种加载方式.目前,很多新闻视频网站都是采用这种模式去加载视频. M3U8文件是指UTF-8编码格式的M3U文件.M3U文件是记录了一个索引纯文本

  • Python: glob匹配文件的操作

    glob模块实例详解 glob的应用场景是要寻找一系列(符合特定规则)文件名. glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.查找文件只用到三个匹配符:"*", "?", "[]". "*"匹配0个或多个字符: "?"匹配单个字符: "[ ]"匹配指定范围内的字符,如:[0-9]匹配数字. 假设以下例子目录是这样的. dir dir/file.txt

  • python中操作文件的模块的方法总结

    在python中操作文件算是一个基本操作,但是选对了模块会让我们的效率大大提升.本篇整理了两种模块的常用方法,分别是os模块和shutil模块.相信这两种模块大家在之间的学习中有所涉及,那么关于具体的文件操作部分,我们一起往下看看都有哪些方法和实例吧. 本教程操作环境:windows7系统.Python3版.Dell G3电脑. Python对文件操作采用的统一步骤是:打开-操作-关闭. 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法 1.得到当前工作目录,即

  • 利用python进行文件操作

    作者: wyh草样 出处:https://www.cnblogs.com/wyh0923/p/14084898.html 什么是文件 文件是系统存储区域的一个命名位置,用来存储一些信息,便于后续访问.能够在非易失性存储器中实现持续性存储,比如在硬盘上.当我们要读取或者写入文件时,我们需要打开文件:在操作完毕时,我们需要关闭文件,以便释放和文件操作相关的系统资源,因此,文件操作的主要包括以下: 打开文件 读取或者写入 关闭文件 打开文件 Python使用内置的open()函数打开一个文件,并且返回

  • 详解Python利用configparser对配置文件进行读写操作

    简介 想写一个登录注册的demo,但是以前的demo数据都写在程序里面,每一关掉程序数据就没保存住.. 于是想着写到配置文件里好了 Python自身提供了一个Module - configparser,来进行对配置文件的读写 Configuration file parser. A configuration file consists of sections, lead by a "[section]" header, and followed by "name: valu

  • Python文件的操作示例的详细讲解

    1. 文件的读写原理: 文件的读写称为I/O操作. 操作原理: .py文件是用解释器去运行,调用OS操作系统的资源,去操作磁盘上的文件. 操作流程: 在去操作一个文件的文件的时候,首先打开或者创建一个文件,进行读或者写. 读: 从文件拿到内存当中来 写:把内存的文件放入文件中 最后进行关闭资源. 内置函数: open() 可以创建或者打开一个文件 语法规则: file=open(filename [mode,encoding] 打开模式默认为只读 默认文本中的字符编码格式为gbk # 作者:互联

  • C++ Boost Optional示例超详细讲解

    目录 一.概述 二.Boost.Optional 一.概述 数据结构类似于容器,因为它们可以存储一个或多个元素.但是,它们与容器不同,因为它们不支持容器通常支持的操作.例如,使用本部分介绍的数据结构,不可能在一次迭代中访问所有元素. Boost.Optional 可以很容易地标记可选的返回值.使用 Boost.Optional 创建的对象要么是空的,要么包含单个元素.使用 Boost.Optional,您无需使用空指针或 -1 等特殊值来指示函数可能没有返回值. Boost.Tuple 提供了

  • Python中关于面向对象概念的详细讲解

    面向对象编程的2个非常重要的概念: 类和对象 对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念--类. 类用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类是由三部分构成: 类的名称 类的属性 类的方法 格式如下: # 类名 class Func(object): # 类的属性 i=123 # 类的方法 def f(self): print('6666') # 实例化类 a=F

  • python文件读写操作小结

    目录 读文件 写文件 关于open()的mode参数: file_obj.seek(offset,whence=0) 字符编码 读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件.(这个mode参数默认值就是r) 如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在: >>> f=op

  • Pyinstaller+Pipenv打包Python文件的实现示例

    目录 安装pipnev 前期准备 创建虚拟环境 进入虚拟环境 安装项目用到的库 使用pyinstaller打包 相信大家都试过将Python文件进行打包,来发给其他没有安装Python环境的用户使用,但通常情况下,打包生成的exe文件都很大,而产生这种情况的原因就是,打包并不会只打包我们所使用的一些库,在我们日常使用的环境中,可能会有很多没有用的关联库被一起打包.这时,创建一个虚拟环境就是最好的选择,然后在虚拟环境中进行打包. 安装pipnev pipenv 用来管理虚拟环境,先安装一下 pip

  • Python文件相关操作和方法汇总大全

    目录 os.path 文件 文件读写 文件删除 文件复制移动 目录 创建目录 删除目录 复制目录 枚举目录 遍历(游走)目录 文件名模式匹配 fnmatch glob 临时文件与目录 前言: Python中有多个内置模块来操作文件与目录(os.os.path.shutil.pathlib等等). os.path os.path模块主要用于获取文件的属性,包含以下几种常用方法: 路径操作: print(os.path.splitext('.info')) # ('.info', '') print

  • C++ Boost PropertyTree示例超详细讲解

    目录 一.提要 二.应用示例 练习 一.提要 借助类 boost::property_tree::ptree,Boost.PropertyTree 提供了一个树结构来存储键/值对.树形结构意味着一个树干存在许多分支,其中有许多树枝.文件系统是树结构的一个很好的例子.文件系统有一个带有子目录的根目录,这些子目录本身可以有子目录等等. 二.应用示例 要使用 boost::property_tree::ptree,请包含头文件 boost/property_tree/ptree.hpp.这是一个主头文

  • python文件读写操作与linux shell变量命令交互执行的方法

    本文实例讲述了python文件读写操作与linux shell变量命令交互执行的方法.分享给大家供大家参考.具体如下: python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼. 代码如下: 复制代码 代码如下: #coding=utf-8 #!/usr/bin/python import os import time #python执行linux命令 os.system(':>./aa.py') #人机交互输入 S = raw_input("

  • Python文件常见操作实例分析【读写、遍历】

    本文实例讲述了Python文件常见操作.分享给大家供大家参考,具体如下: 1.文件是什么? 文件是存储在外部介质上的数据或信息集合,程序中源程序.数据中保存的数据.图像中的像素数据等等: 文件是有序的数据序列: 2.编码: 信息从一种形式转换为另一种形式的过程:ascII码.Unicode.utf-8等等: 二进制文件ascII码:照片.音乐.视频.计算机程序... 3.文件的基本操作 1)打开文件获取文件对象 建立磁盘上的文件与源程序中的对象相关联,程序上叫打开文件,一旦文件被打开,文件的内容

  • Python反向传播实现线性回归步骤详细讲解

    目录 1. 导入包 2. 生成数据 3. 训练数据 4. 绘制图像 5. 代码 1. 导入包 我们这次的任务是随机生成一些离散的点,然后用直线(y = w *x + b )去拟合 首先看一下我们需要导入的包有 torch 包为我们生成张量,可以使用反向传播 matplotlib.pyplot 包帮助我们绘制曲线,实现可视化 2. 生成数据 这里我们通过rand随机生成数据,因为生成的数据在0~1之间,这里我们扩大10倍. 我们设置的batch_size,也就是数据的个数为20个,所以这里会产生维

随机推荐