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篇 文件目录的主要内容,如果未能解决你的问题,请参考以下文章