python文件管理_python3目录和文件管理 – Python3教程

上一章Python教程请查看:python3文件IO

在本文中,你将了解Python中的文件和目录管理,即创建一个目录,重命名它,列出所有目录并使用它们。

Python中的目录是什么?

如果在Python程序中有大量的文件需要处理,那么可以将代码安排在不同的目录中,使其更易于管理。

目录或文件夹是文件和子目录的集合,Python有os模块,它为我们提供了许多有用的方法来处理目录(以及文件)。

获取当前目录

我们可以使用getcwd()方法获得当前的工作目录。

此方法以字符串的形式返回当前工作目录,我们还可以使用getcwdb()方法将其作为bytes对象获取。

>>> import os

>>> os.getcwd()

'C:\Program Files\PyScripter'

>>> os.getcwdb()

b'C:\Program Files\PyScripter'

额外的反斜杠表示转义序列,print()函数将正确地呈现它。

>>> print(os.getcwd())

C:\Program Files\PyScripter

更改目录

我们可以使用chdir()方法更改当前工作目录。

我们想要更改的新路径必须作为字符串提供给这个方法,我们可以使用正斜杠(/)或反斜杠(\)分隔路径元素。

使用反斜杠时,使用转义序列更安全。

>>> os.chdir('C:\Python33')

>>> print(os.getcwd())

C:\Python33

列出目录和文件

使用listdir()方法可以知道目录中的所有文件和子目录。

此方法接受路径并返回该路径中的子目录和文件列表。如果没有指定路径,它将从当前工作目录返回。

>>> print(os.getcwd())

C:\Python33

>>> os.listdir()

['DLLs',

'Doc',

'include',

'Lib',

'libs',

'LICENSE.txt',

'NEWS.txt',

'python.exe',

'pythonw.exe',

'README.txt',

'Scripts',

'tcl',

'Tools']

>>> os.listdir('G:\')

['$RECYCLE.BIN',

'Movies',

'Music',

'Photos',

'Series',

'System Volume Information']

创建一个新目录

我们可以使用mkdir()方法创建一个新目录。

此方法接受新目录的路径,如果未指定完整路径,则在当前工作目录中创建新目录。

>>> os.mkdir('test')

>>> os.listdir()

['test']

重命名目录或文件

rename()方法可以重命名目录或文件。

第一个参数是旧名称,新名称必须作为第二个参数提供。

>>> os.listdir()

['test']

>>> os.rename('test','new_one')

>>> os.listdir()

['new_one']

删除目录或文件

可以使用remove()方法删除文件。

类似地,rmdir()方法删除一个空目录。

>>> os.listdir()

['new_one', 'old.txt']

>>> os.remove('old.txt')

>>> os.listdir()

['new_one']

>>> os.rmdir('new_one')

>>> os.listdir()

[]

但是,注意rmdir()方法只能删除空目录。

为了删除非空目录,我们可以在shutil模块中使用rmtree()方法。

>>> os.listdir()

['test']

>>> os.rmdir('test')

Traceback (most recent call last):

...

OSError: [WinError 145] The directory is not empty: 'test'

>>> import shutil

>>> shutil.rmtree('test')

>>> os.listdir()

[]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值