python文件操作:新建删除文件,获取拼接路径,罗列文件路径

枫铃3年前 (2021-10-03)Python288

1.新建文件
(1)新建目录/文件夹

os.mkdir('Kite')  # 新建文件夹,mkdir在linux下是新建一个目录

(2)跨级新建目录

用/来代表路径的不同层级 [必须确保上面的层级是存在的]

os.mkdir('kite/v1')  # 相对路径
os.mkdir("D://Test3/base_python/Kite/v2")  # 绝对路径  #R或/转义

2.删除文件

一级一级的删除,不推荐一次性删除(报错:OSError:[WinErrorr 145]目录不是空的)

os.rmdir("kite/v1")
# os.rmdir("kite") 报错:OSError:[WinErrorr 145]目录不是空的

3.获取路径

(1)获取路径1:获取当前工作目录 具体到最后一级目录

path1 = os.getcwd()
print("获取当前路径1是:{0}".format(path1))  # 获取当前路径1是:D:\Test3\base_python

(2)获取路径2:获取当前文件的绝对路径 具体到模块名

path2 = os.path.realpath(__file__)
print("获取当前路径2是:{0}".format(path2))  # 获取当前路径2是:D:\Test3\base_python\class_getcwd.py

4.拼接路径

(1)拼接路径1:+

new_path_1 = os.getcwd()+'\kite\kite10_14_1'
print('拼接后的路径1为:{0}'.format(new_path_1))
os.mkdir(new_path_1)

(2)拼接路径2:join

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
new_path_2 = os.path.join(os.getcwd(),'kite\kite10_14_2')
print('拼接后的路径2为:{0}'.format(new_path_2))
# os.mkdir(new_path_2)

new_path_3 = os.path.join(os.getcwd(),'kite','kite')
print('拼接后的路径3为:{0}'.format(new_path_3)) # D:\Test3\base_python\kite\kite
# os.mkdir(new_path_3)

5.判断文件

(1)判断是文件还是目录

print(os.path.isfile(__file__))  # 返回值 布尔值 True(是否是文件)
print(os.path.isfile(os.getcwd()))  # 布尔值 False(是否是文件)
print(os.path.isdir(os.getcwd()))  # True (是否是目录)

(2)判断文件是否存在

print(os.path.exists(" D:/Test3/base_python/class_getcwd.py")) # False

6.罗列文件路径

print(os.listdir(os.getcwd()))

work:罗列指定路径下的所有文件

import os
path_list = []
def get_all(path):
    #path =r'D:\Test3'
    paths = os.listdir(path) # 列出指定路径下的所有目录和文件
    for i in paths:
        com_path = os.path.join(path,i)
        # print(com_path)
        if os.path.isdir(com_path):
            get_all(com_path) # 如果该路径是目录,则调用自身方法
        elif os.path.isfile(com_path):
            path_list.append(com_path) # 如果该路径是文件,则追加到path_list中
            print(com_path) 打印所有文件的绝对路径
        #print(com_path) # 打印所有文件和目录的绝对路径
print("D:\Test3包括如下文件:")
# 调用函数
get_all(path=r'D:\Test3')

相关文章

Python发送邮件以及对其封装

Python发送邮件分为...

Python69个内置函数分类总结

Python3解释器中内置了69个常用函数,属于底层的函数,它们到处可用,是新手学习的重要内容。 当然࿰...

使用python进行面部合成,比PS好用多了

使用python进行面部合成,比PS好用多了

一. 准备工作 此程序使用的是 Face++ 的API,所以需要去Face++官网注册账号: 创建应用,获取 key 和...

python 将字节字符串转换成十六进制字符串

想将一个十六进制字符串解...

Python字典列表字段重组形成新的字典

最近遇到这样一个需求&#...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。