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

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

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同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,...

爬虫基本原理

爬虫基本原理 一、爬虫是什么? 百度百科和维基百科对网络爬虫的定义:简单来说爬虫就是抓取目标网站内容的工具,一般是根据定义的行...

Django 函数和方法的区别

函数和方法的区别 1、函数要手动传self,方法不用传 2、如果是一个函数,用类名去调用,如果是一个方法...

Django 知识补漏单例模式

单例模式:(说白了就是)创建一个类的实例。在 Python 中,我们可以用多种方法来实现单例模式&#x...

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

Python mysql 索引原理与慢查询优化

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,...

发表评论

访客

看不清,换一张

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