Python入门教程第74篇 文件目录

Posted 不剪发的Tony老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python入门教程第74篇 文件目录相关的知识,希望对你有一定的参考价值。

本文将会介绍如何利用 Python 内置函数操作文件目录。

获取当前工作目录

Python 程序所在的目录就是该程序的当前工作目录。为了获取当前工作目录,我们需要使用 os 模块中的 getcwd() 函数:

import os
cwd = os.getcwd()
print(cwd)

如果想要修改当前工作目录,我们可以使用 chdir() 函数,将目标目录传递给该函数:

import os
os.chdir('c:\\\\temp')
cwd = os.getcwd()
print(cwd)

拼接路径和拆分路径

为了使得程序能够支持 Windows、Linux 以及 Unix 等跨平台,我们需要使用独立于平台的文件和目录路径。Python 提供了一个子模块 os.path,包含了许多拼接路径和拆分路径的函数和常量。

join() 函数可以将路径组件连接到一起组成一个包含平台分隔符(Windows 中的反斜线、Unix 中的斜线)的路径。split() 函数可以将路径拆分成路径组件。以下是这两个函数的示例:

import os
fp = os.path.join('temp','python')
print(fp) # temp\\python (in Windows)
pc = os.path.split(fp)
print(pc) # ('temp', 'python')

测试路径是否为目录

为了检查路径的存在性以及是否为目录,我们可以使用 exists() 和 isdir() 函数:

import os

path = os.path.join("C:\\\\","temp")
if os.path.exists(path):
    print(path + ' : exists')
    if os.path.isdir(path):
        print(path + ' : is a directory')

创建目录

os 模块中的 mkdir() 或者 makedirs() 函数可以用于创建新的目录,在创建目录之前需要检查该目录是否已经存在。

以下示例在 c:\\temp 目录下创建了一个新的目录 python:

import os

dir = os.path.join("C:\\\\","temp","python")
if not os.path.exists(dir):
    os.mkdir(dir)

重命名目录

os.rename() 函数可以用于重命名目录,参数包含旧目录名和新目录名:

import os

oldpath = os.path.join("C:\\\\","temp","python")
newpath = os.path.join("C:\\\\","temp","python3")

if os.path.exists(oldpath):
    os.rename(oldpath, newpath)
    print("'0' is renamed to '1'".format(oldpath,newpath))
    #'C:\\temp\\python' is renamed to 'C:\\temp\\python3'

删除目录

os.rmdir() 函数可以用于删除一个目录:

import os

dir = os.path.join("C:\\\\","temp","python")
if os.path.exists(dir):
    os.rmdir(dir)
    print(dir + ' is removed.')

遍历目录

Python 提供了 os.walk() 函数,可以用于递归遍历目录。该函数会返回根目录、子目录以及所有文件。

以下示例打印了 c:\\temp 目录下的所有文件和目录:

import os

rootdir = "c:\\\\temp"
for root, dirs, files in os.walk(rootdir):
    print("0 has 1 files".format(root, len(files)))

总结

  • os 模块提供了操作和访问文件目录的各种函数,包括 os.getcwd()、os.path.join()、os.path.split()、os.path.exists、os.mkdir、os.rename()、os.rmdir 以及 os.walk() 等。

以上是关于Python入门教程第74篇 文件目录的主要内容,如果未能解决你的问题,请参考以下文章

超简单的Python教程系列——第12篇:文件处理

第74篇 Ubuntu环境搭建以太坊POA联盟链

Python入门教程第76篇 Python虚拟环境

学习编程道路上的入门书籍之Python篇

超简单的Python教程系列——第3篇:项目结构和导入

MySQL从入门到精通高级篇MySQL目录结构与表在文件系统中的表示