python中的io模块和os模块

本文介绍了Python中io模块的各类文件流,如TextIOBase、BufferedIOBase等,以及os模块提供的丰富文件和目录操作、环境变量管理等功能。展示了如何使用这些工具进行字符串和二进制文件操作,以及os模块的常用方法如getcwd(),chdir(),listdir(),mkdir(),rename(),rmdir(),makedirs(),removedirs()等。
摘要由CSDN通过智能技术生成

方法io模块

在Python中,文件流是一个处理文件的方式,它允许你以一种抽象的方式处理文件,而不需要关心底层的细节。文件流可以让你以流的形式读取或写入文件,就像你在处理网络数据一样。

Python提供了几种不同的文件流类,包括:

  1. io.TextIOBase:这是所有文本IO类的基类,提供了基本的方法,如read(), write()等。
  2. io.BufferedIOBase:这是所有具有缓冲的IO类的基类。它提供了缓冲区的读写方法。
  3. io.RawIOBase:这是所有原始IO类的基类。它提供了低级别的IO方法,如read(), write()等。
  4. io.FileIO:这是表示文件IO的类。它提供了read(), write()等方法。
  5. io.BytesIO:这是一个内存中的流。它提供了一种读写二进制数据的方法。
  6. io.StringIO:这是一个内存中的流,用于读写字符串。

这些类都定义在Python的io模块中,你可以使用它们来处理文件。例如,你可以使用open()函数打开一个文件,并返回一个文件对象,这个对象就是一个文件流。然后,你可以使用这个文件对象的read()或write()方法来读取或写入文件。使用io流文件的优点在于它会创建临时文件且不会占用磁盘空间且要用变量来接收你创建的io流文件

生成字符串临时文件(io.StringIO()):

import io
st = io.StringIO()
x = st.write('这是生成的临时存储字符串文件的方法')
print(x)  # 17
print(st.getvalue())  #这是生成的临时存储字符串文件的方法

第二行用变量来接受创建的io流文件,第四行打印的是你写入内容的长度,第五行的getvalue()方法是获取文件里面的内容

生成二进制文件():

import io
two = io.BytesIO()
two.write(b'this is binary system')
print(two.getvalue())

字符串前面要加个b,要注意二进制文件里面只能写入ascll码表里的内容

这里我只介绍两种io文件流的操作方法

os模块

简介:

Python的os模块是一个非常强大的模块,它提供了许多与操作系统交互的功能。以下是一些常用的os模块功能:

  1. 文件和目录操作:os模块提供了许多用于创建、删除、移动、重命名文件和目录的函数。例如,os.mkdir()用于创建目录,os.remove()用于删除文件,os.rename()用于重命名文件或目录,os.chdir()用于更改当前工作目录等。
  2. 文件路径操作:os模块提供了许多用于处理文件路径的函数。例如,os.path.join()用于连接多个路径组件,os.path.dirname()用于获取路径的目录名,os.path.basename()用于获取路径的基本名称等。
  3. 文件和目录属性:os模块提供了许多用于获取文件和目录属性的函数。例如,os.stat()用于获取文件的状态信息,os.access()用于检查用户对文件的访问权限等。
  4. 环境变量:os模块提供了许多用于获取和设置环境变量的函数。例如,os.environ用于获取环境变量的值,os.environ['VAR_NAME'] = 'value'用于设置环境变量的值等。
  5. 进程和命令行参数:os模块提供了许多用于执行外部命令、获取命令行参数和环境变量的函数。例如,os.system()用于执行外部命令,sys.argv用于获取命令行参数,os.getenv()用于获取环境变量的值等。

总的来说,os模块提供了一个跨平台的方式与操作系统交互。它使Python程序能够在不同操作系统上运行时保持一致的行为。

先导入模块,这个模块是内置模块,不需要下载

import os

getcwd()方法获取当前文件路径

import os
#getcwd()获取当前文件路径
print(os.getcwd())

chdir()方法

os.chdir(r'D:\PycharmProjects\firstproject\遮天')
print(os.getcwd())

改变当前文件所在目录,只是临时更改,不是永久的,只在此文内生效

listdir()方法

print(os.listdir())

得到和本文件在同一文件夹下的所有文件,以列表的形式输出

mkdir()方法

os.mkdir('mkdir方法创建文件夹')

mkdir()在python中创建文件夹,如果文件夹存在则会报错,文件夹会放在当前文件所在文件夹下

rename()方法

os.rename('重命名文件夹', '重命名文件夹1')

rename()方法会对文件夹进行重命名,前面的是文件夹的路径或者直接写文件名也行,后面是自己想改的文件名字

rmdir()方法

os.rmdir('重命名文件夹1')

rmdir()删除文件夹,里面写文件路径或者文件名都行

makedirs()方法

#创建多层目录
os.makedirs('文件夹\文件')

这个是创建多层目录方法,注意是目录,目录就是文件夹,创建文件的方法在python文件操作中就已经讲了,这个代码是创建了两个目录,后面的目录在前面的目录里面,这两个目录都在当前文件夹所在目录下面

removedirs()方法

#删除多层目录
os.removedirs('文件夹\文件')

删除多层目录与makedirs()方法相反

判断文件是否在当前目录存在

print(os.path.exists('重命名文件夹1'))

判断文件夹是否在当前目录存在,如果存在则Ture,不存在则False

用if语句判断目录是否存在

if not os.path.exists('重命名文件夹1'):
     os.mkdir('重命名文件夹1')

判断文件夹是否在当前目录存在,如果没有则创建

这些是常用的方法,其他方法感兴趣的自己可以去试一试

最后呢还是感谢大家的支持,祝大家新的一年,一切顺利

  • 35
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值