京东云服务器推荐配置、多种配置选择,满足不同业务需求!

热门推荐

⭐ 稳定入门选择

配置:2核2G/5M

适用场景:个人站点 / 轻量应用

特点:性价比高,稳定可靠

¥19/月
立即购买
流量友好

☁️ 轻量云主机

配置:2核4G 5M

适用场景:小型业务 / 博客 / 测试环境

特点:流量友好,性能均衡

¥149/年
立即购买
高性能

💻 云服务主机

配置:4核16G 8M

适用场景:中小型服务 / 多并发场景

特点:充足内存与带宽,性能强劲

¥750/年
立即购买
新人专享

🎁 新人福利

新人访问 → 点击 → 最新活动

可获取 3000元 礼券

立即领取
数据分析 / Python 教程 / Python 文件操作
Python 目录和文件管理
Python 错误和内置异常Python 文件I/O

Python 目录和文件管理

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

Python中的目录是什么?

如果您的Python程序中要处理大量文件,则可以将代码排列在不同的目录中,以使事情更易于管理。

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

获取当前目录

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

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

>>> 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()
[]

                                                                                                                                                                                                   

Python 错误和内置异常Python 文件I/O