python目录操作函数 python获取当前目录

python 当文件目录不存在时,如何自动创建

Python对文件的操作算是方便的,只 需要调用os模块,使用相关函数即可实现目录的创建。主要涉及三个函数:

创新互联自2013年创立以来,是专业互联网技术服务公司,拥有项目做网站、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元伊川做网站,已为上家服务,为伊川各地企业和个人服务,联系电话:18982081108

1、os.path.exists(path) 判断一个目录是否存在

2、os.makedirs(path) 多层创建目录

3、os.mkdir(path) 创建目录

def mkdir(path):

# 引入模块

import os

# 去除首位空格

path=path.strip()

# 去除尾部 \ 符号

path=path.rstrip("\\")

# 判断路径是否存在

# 存在     True

# 不存在   False

isExists=os.path.exists(path)

# 判断结果

if not isExists:

# 如果不存在则创建目录

 # 创建目录操作函数        

 os.makedirs(path)  

print(path+' 创建成功')

return True

else:

# 如果目录存在则不创建,并提示目录已存在

print(path+' 目录已存在')

return False

# 定义要创建的目录

mkpath="d:\\qttc\\web\\"

# 调用函数

mkdir(mkpath)

注意:os.mkdir(path)函数和多层创建目录函数os.makedirs(path)的区别。主要是当父目录不存在的时候os.mkdir(path)不会创建,而os.makedirs(path)会创建父目录。

Python中os模块创建目录的函数有哪些呢?

'os.mkdir():创建一个新目录。

'os.makedirs():创建一个新目录,如果该目录的父目录不存在,则也会一并创建。

下面是一些示例代码,展示了如何使用这两个函数来创建目录:

# 导入 os 模块

import os

# 使用 os.mkdir() 创建一个新目录

os.mkdir("newdir")

# 使用 os.makedirs() 创建一个新目录,如果该目录的父目录不存在,则也会一并创建

os.makedirs("path/to/newdir")

在上面的代码中,第二行导入了 'os模块。然后,第四行使用os.mkdir()函数创建了一个名为newdir的新目录。第六行使用os.makedirs()函数创建了一个新目录,并指定了其完整路径。

注意,如果在执行这段代码时,当前工作目录下已经存在一个名为 'newdir或path/to/newdir的目录,则创建目录操作将会失败,会抛出一个FileExistsError异常。因此,在实际应用中,需要先判断该目录是否已经存在,然后再决定是否执行创建目录的操作

例如,可以使用 'os.path.exists()函数

Python其实很简单 第十六章 目录管理

为实现“按名存取”,必须建立文件名与辅存空间中物理地址的对应关系,体现这种对应关系的数据结构称为文件目录。文件目录表目至少要包含文件名、文件的类型、文件的长度、访问权限、建立时间、访问时间和文件存储地址等内容。通过前面一章的介绍,我们已经知道在文件信息中已经包含了文件名、文件类型访问权限等信息,而存储地址的信息则包含在目录信息中。

16.1路径

路径通常用一个字符串来表示,可以按照路径信息定位到一个目录或文件。如:“C:UsersAdministratorPictures1.jpg”这个信息可以非常方便的找到这个图片文件,“C:UsersAdministratorPictures”这个信息可以帮助我们找到更多的图片文件。

这里所说的“路径”和上网时碰到的“地址”含义比较相似,互联网就相当于将个人电脑可以访问的范围扩大了,互联网中的地址也是对应某一个存储空间的路径,按照地址可以访问互联网上的信息,就如同按照路径可以找到计算机中的文件一样。

在Python中,可以导入 os模块 来进行目录操作。

1、获取当前工作目录getcwd()函数

例:

import os

print(os.getcwd())

运行结果:

C:UsersAdministratorAppDataLocalProgramsPythonPython38

这个路径是当前Python IDLE所在的地址。

2、获取文件的绝对路径abspath()函数

abspath()函数是os模块的子模块path提供的一个函数。用法举例如下:

import os

print(os.path.abspath(r'test.txt'))

运行结果:

C:UsersAdministratorAppDataLocalProgramsPythonPython38 est.txt

16.2 目录操作类函数

1、判断目录是否存在exists()函数

exists()函数是os模块的子模块path中的函数。使用方法举例如下:

import os

print(os.path.exists(r'C:UsersAdministratorPictures1.jpeg'))

输出结果:

True

2、创建目录mkdir()函数和makedirs()函数

mkdir()函数和makedirs()函数都是由os模块提供的,下面举例说明用法和区别。

例1:

import os

path='d:test'

if not os.path.exists(path):

os.makedirs(path)

print('该文件目录创建成功!')

如果目录d: est已存在,则不再创建;若不存在,则创建。

例2:

import os

path='d:testtest1test11'

if not os.path.exists(path):

os.makedirs(path)

print('该文件目录创建成功!')

虽然目录d: est已存在,但可以在其下继续创建子目录。上面的代码可以成功地创建d: est est1 est11目录。

mkdir()函数和makedirs()函数用法基本一样,不同之处在于mkdir()函数只能能创建一级目录。

3、删除目录函数rmdir()函数

rmdir()函数是由os模块提供的。

例如:通过上面的例子已经建立了d: est est1 est11目录,现在去删除子目录test11(此子目录为空目录),代码如下:

import os

os.rmdir('d:testtest1test11')

如果要删除的目录非空(其下还包含有文件或文件夹),则不能删除,并且出现Windows文件操作错误的提示(Python是调用操作系统命令完成文件和目录操作的)。譬如d: est目录下含有有子目录,则不能对其进行如下删除操作。

import os

os.rmdir('d:test')

此时,会出现如下错误提示:

Traceback (most recent call last):

File "C:/Users/zym/AppData/Local/Programs/Python/Python39/4.py", line 10, in

os.rmdir('d:test')

OSError: [WinError 145] 目录不是空的。: 'd:test'

4、删除非空目录函数rmtree()函数

rmtree()函数是由Python内置的标准模块shutil提供的,可以删除目录及目录下的文件和子目录。如删除d: est目录及其下的子目录和文件,可用如下代码:

import shutil

shutil.rmtree('d:test')

5、遍历目录walk()函数

walk()函数是由os模块提供的。

语法格式:

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

其中,top是所要遍历的目录的地址;topdown为可选参数,为 True时自上而下遍历 目录,为False时自下而上遍历目录,默认值为True;onerror为可选参数,用于指定异常处理方式,默认为忽略;followlinks为可选参数,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭),如果为 False,则优先遍历 top 的子目录。

该函数的返回值为一个三元组(root,dirs,files)。root 所指的是当前正在遍历的这个文件夹的本身的地址;dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录);files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)。

例:遍历d: est目录及其子目录下的所有子目录和文件:

d: est目录及其下的子目录和文件

import os

path='d:test'

tups=os.walk(path) # 函数walk()的返回值为三元组

for root,dirs,files in tups: # 遍历这个三元组

for name in dirs: #遍历存放目录值的元组

print('dir:',os.path.join(root,name))

for name in files: #遍历存放文件名值的元组

print('file:',os.path.join(root,name))

运行结果如下:

dir: d: est est1

dir: d: est est1 est11

dir: d: est est1新建文件夹

file: d: est est1新建文本文档.txt

file: d: est est1 est11新建文本文档.txt

Python中os模块提供的与目录相关的函数有哪些呢?

答案正确。以下是这些函数的具体说明:

os.getcwd():获取当前工作目录的路径名。

os.listdir(path):列出指定目录下的所有文件和子目录(不包含 . 和 .. 目录)。

os.mkdir(path[, mode]):创建一个新目录,其中 path 参数是要创建的目录路径名,mode 参数是可选的,指定目录权限,默认为 0777。

os.makedirs(path1/path2…[, mode]):递归创建多层目录结构,其中 path1/path2… 参数是要创建的目录路径名,在这个路径下逐层创建目录,并且可以递归创建多层目录,mode 参数是可选的,指定目录权限,默认为 0777。

os.rmdir(path):删除指定的目录,前提是这个目录必须为空,否则无法删除。

os.removedirs(path1/path2…):递归删除指定的目录及其中的所有空目录,其中 path1/path2… 参数是要删除的目录路径名,在递归删除过程中,若某个目录不为空,则不会被删除。

os.chdir(path):改变当前工作目录,其中 path 参数表示要切换的目录路径名。

os.walk(top[, topdown[, onerror]]):以目录树形式遍历指定目录下的所有文件和子目录,并返回一个三元组 (dirpath, dirnames, filenames),其中 dirpath 表示当前目录路径,dirnames 是当前目录下的所有子目录名,filenames 是当前目录下的所有非目录文件名。当 topdown 参数为 True 时,表示先遍历一级目录,再判断是否需要递归遍历其它子目录,默认值为 True;当 onerror 参数不为 None 时,表示如果在遍历目录树时遇到错误是否抛出异常(否则该错误直接被忽略),onerror 参数需要传入一个函数,接受三个参数,分别是出现错误的根目录、错误对象 Exception 和 traceback 对象。

以上是 os 模块中的一些常用目录相关函数。需要注意的是,对于一些有进行文件和目录操作的函数,一定要注意操作的权限和路径的正确性,避免在操作时发生不必要的错误。


当前标题:python目录操作函数 python获取当前目录
文章位置:http://bzwzjz.com/article/dojisps.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都定制网站建设 四川成都网站建设 成都网站建设 企业网站制作 成都网站建设 成都网站建设流程 响应式网站建设 成都网站建设 宜宾网站设计 定制网站设计 成都网站建设 成都品牌网站设计 网站制作 网站建设 品牌网站建设 成都商城网站建设 重庆企业网站建设 成都网站设计 成都商城网站建设 成都做网站建设公司 成都定制网站建设 古蔺网站建设