
正文
python目录操作函数 python创建目录函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Python中os模块创建目录的函数有哪些呢?
'os.mkdir()python目录操作函数:创建一个新目录。
'os.makedirs():创建一个新目录python目录操作函数,如果该目录python目录操作函数的父目录不存在python目录操作函数,则也会一并创建。
下面是一些示例代码,展示了如何使用这两个函数来创建目录:
# 导入 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()函数
相关问答
Q1: 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
Q2: python文作操作函数open()
1.并非只能访问文本文件
open可以访问任何形式的文件,在访问非文本格式文件(二进制文件)的时候,访问模式通常加上‘b’(即二进制模式:‘rb’或‘wb’),但并不必须,依情况而定
2.路径是填写在前面的filename参数处的
如你的例子,若要只读这个文件,则是:
open('D:\\123.txt', 'r')
(由于\是转义符,所以要将他再转义,才能得到\符号本身)
若要写入,则是:
open('D:\\123.txt', 'w')
以此类推
如果是不加路径,只有一个文件名:
open('123.txt', 'r')
则会在python运行的当前目录下寻找该文件名的文件
另:读模式(r)必须保证文件存在,写模式(w)至少要保证文件所在目录存在(文件本身可以不存在)
如果不满足,则系统会抛出一个IOError
Q3: python 当文件目录不存在时,如何自动创建
Python对文件的操作算是方便的,只 需要调用os模块,使用相关函数即可实现目录的创建。主要涉及三个函数:
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)会创建父目录。
Q4: python sys.path.append('..')括号里这两个点是什么意思?
目录的意思python目录操作函数,即代表上一级目录。
python简介:
Python是一种面向对象、直译式计算机程序设计语言python目录操作函数,由荷兰人Guido van Rossum发明于1989年,1991年发行第一个公开发行版。
python文件和目录操作方法大全:
得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd();
返回指定目录下的所有文件和目录名:os.listdir();
函数用来删除一个文件:os.remove();
删除多个目录:os.removedirs(r“c:\python”);
检验给出的路径是否是一个文件:os.path.isfile();
检验给出的路径是否是一个目录:os.path.isdir();
判断是否是绝对路径:os.path.isabs();
检验给出的路径是否真地存:os.path.exists();
返回一个路径的目录名和文件名:os.path.split();
分离扩展名:os.path.splitext()。
Q5: Python文件操作,看这篇就足够!
文件的存储方式
在计算机中,文件是以二进制的方式保存在磁盘上的文本文件和二进制文件
文本文件可以使用文本编辑软件查看本质上还是二进制文件
二进制文件保存的内容不是给人直接阅读的,而是提供给其她软件使用的二进制文件不能使用文件编辑软件查看
文件基本操作
在计算机中要操作文件一共包含三个步骤:1.打开文件2.读、写文件
读 将文件内容读入内容写 将内存内容写入文件
模式描述
t文本模式 (默认)。
x写模式,新建一个文件,如果该文件已存在则会报错。
b二进制模式。
+打开一个文件进行更新(可读可写)。
U通用换行模式(不推荐)。
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
文件打开模式有很多,但是我们实际用到的就只有六种。
我们总结一下主要用到的是下面六种
模式可做操作若文件不存在是否覆盖文件原来内容
r只读报错——
r+可读、可写报错是
w只写创建是
w+可读、可写创建是
a只写创建否,追加写
a+可读、可写创建否,追加写
只读模式打开文件——只读(r)
文件若不存在报错:
读写模式打开文件——读写模式(r+)
数据写入之前:
数据写入之后:
会替换掉相同长度的内容
文件若不存在报错:
写模式打开文件——写模式(w)
数据写入之前:
数据写入之后:
这种操作会删除原来的文件内容,重新写入Python,
并且把光标放在文件最开始。
若文件不存在,系统会创建该文件夹并重新写入内容
读写模式打开文件——读写模式(w+)
数据写入之前:
数据写入之后:
这种操作会删除原来的文件内容,重新写入Python,
并且把光标放在文件最开始。
若文件不存在,系统会创建该文件夹并重新写入内容
利用这个原理所以文件写模式(w)、读写模式(w+)还可以用作删除文件内容。
因为他们整个工作原理就是把文件原来的内容删除,然后写入新的内容。
如果我们写入的内容为空,那么不就是删除文件内容。
数据写入之前:
数据写入之后:
写模式打开文件(追加内容)——写模式(a)
数据写入之前:
数据写入之后:
可以看到是在原先内容的基础上在文末追加新的内容!
若文件不存在,系统会创建新的文件夹并写入内容
读写模式打开文件(追加内容)——读写模式(a)
数据写入之前:
数据写入之后:
可以看到是在原先内容的基础上在文末追加新的内容!
若文件不存在,系统会创建新的文件夹并写入内容
二进制模式打开文件
我们看到了在文件打开模式中有以下模式:rb、wb……有这种带 b 的。
什么意思呢?
就是用二进制的方式打开文件。
很明显,我们出现了以下错误:
主要原因是因为编码的问题,可能是因为0x82这个字节在gbk编码中没有这个字符,
可能原字符是两个字节,在gbk里被解析成了一个字节,导致字符不存在。
这就是我们文件打开方式需要使用二进制读取的原因。
文件操作
open 函数负责打开文件,并且返回文件对象
read /write / close 三个方法都需要通过文件对象 来调用
文件和文件夹的操作
在Python中⽂件和⽂件夹的操作要借助os模块⾥⾯的相关功能,
具体步骤如下:
导⼊os模块
使⽤ os 模块相关功能
1、文件重命名
2、删除文件
3、创建文件夹
4、删除文件夹
5、获取当前目录
6、改变默认目录
7、获取目录列表
python目录操作函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python创建目录函数、python目录操作函数的信息别忘了在本站进行查找喔。






