[Python3]目录与文件操作

概述

本文就os和path模块中常用的方法进行了说明和列举,更多的方法和技巧请参加官方文档

os模块常用方法

我们先看看os模块所提供的目录操作方法,直接上代码实例:

# -*- coding:utf-8 -*-

__author__ = ‘谷白‘

# 导入os模块
import os

if __name__ == "__main__":
    # 返回完整的路径目录
    print("获取当前工作目录")
    print(os.getcwd())    

    # 返回的是: .
    print("获取当前目录")
    print(os.curdir)    

    # 创建目录
    # 目标创建目录必须是不存在的,否则抛出异常
    os.mkdir("test_mk1")    

    # 重命名目录
    os.rename("test_mk1", "test_mk2")    

    # 删除指定目录
    # 要注意目标删除目录必须是无子目录、子文件
    # 目标删除目录必须存在,否则抛出异常
    # 使用该代码时,请将目标删除目录改为你要删除的目录
    # os.removedirs("test_mk1")

    # 将改变至C盘
    print("改变工作目录到dirname")
    os.chdir("c:")
    print(os.getcwd())

path模块常用方法

我们通过下面的代码实例来看看如何使用path模块提供的方法来管理文件。

# -*- coding:utf-8 -*-

__author__ = ‘谷白‘

import os

if __name__ == "__main__":

    # 先初始化当前文件全路径变量
    path = __file__
    print("当前文件全路径为: %s" % path)    

    # 是目录则返回True,否则返回False
    print("目录判断:%s" % os.path.isdir(path))

    # 判断是否为文件,是则返回True,否则返回False
    print("文件判断:%s" % os.path.isfile(path))    

    # 判断目录或文件是否存在
    print("目录/文件存在:%s" % os.path.exists(path))    

    # 获取文件大小,若目标为目录则返回0
    print("文件大小:%s" % os.path.getsize(path))    

    # 获取文件的绝对路径
    print("文件绝对路径:%s" % os.path.abspath(path))    

    # 将目标路径规范化, 即更规范的路径表达方式,跨平台标识
    print("规范化路径: %s" % os.path.normpath(path))    

    # 将文件名和目录分割
    # 若传入的是目录,则将最后的目录名做为文件名分割
    print("目录和文件名分割:", end="")
    print(os.path.split(path))    

    # 分离文件名和扩展名
    print("文件名和扩展名分离:", end="")
    print(os.path.splitext(path))    

    # 获取文件名
    print("文件名为:%s" % os.path.basename(path))    

    # 获取文件所在目录
    print("文件目录为:%s" % os.path.dirname(path))

目录遍历

我们一起看看os模块所提供的目录遍历方法:walk,直接上代码实例:

walk返回值说明: 返回值为一个迭代器对象,它的每个部分包含一个元组,即(目录X, [目录X下的目录列表], [目录X下的文件列表])

# -*- coding:utf-8 -*-

__author__ = ‘谷白‘

import os

def walk_dir(target_dir):
    # root 当前根目录
    # dirs :root下的子目录
    # files:root下的子文件
    walk_result = os.walk(target_dir)
    # print(type(walk_result))

    for root, dirs, files in walk_result:
        # print(type(root), type(dirs), type(files))
        print("-" , root)        

        # 遍历当前子目录
        for name in dirs:
            print(" --", name)        

        # 遍历当前目录的子文件
        for name in files:
            print(" --", name)

if __name__ == "__main__":

    target_dir = os.curdir
    walk_dir(target_dir)
时间: 2024-08-06 20:04:24

[Python3]目录与文件操作的相关文章

.Net常用技巧_目录与文件操作

using System; using System.Collections.Generic; using System.Text; using System.IO; namespace MyTool { public class FileOperator { /// <summary> /// 返回指定目录下所有文件信息 /// </summary> /// <param name="strDirectory">目录字符串</param>

尝试 “实验楼” 目录及文件操作 (2)

创建文件夹:-mkdir <span style="font-size:18px;">[email protected]:~$ mkdir testdir # 创建testdir文件夹 [email protected]:~$ ls # ls命令可以看到你所创建的文件夹</span> 删除文件夹:-rmdir <span style="font-size:18px;">[email protected]:~$ rmdir test

Linux 目录和文件操作

Linux常用命令--目录和文件操作 [目录]删除.复制.移动 : 1.删除文件夹用:rmdir 文件夹名 但是rmdir不能删除非空的文件夹,那如何删除非空文件夹呢: 2.通常情况下,删除文件用:rm 文件名    -d或--directory 直接把欲删除的目录的硬连接数据删成0,删除该目录. -f或--force 强制删除文件或目录. -i或--interactive 删除既有文件或目录之前先询问用户. -r或-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理.

[Python] 目录和文件操作

在Linux系统下用Python写脚本,肯定不能避免各种与目录和文件夹有关的操作.为了以后方便查阅,简单地针对Python中与目录和文件夹有关的操作进行汇总. 需要实现导入的模块为: import os 1. 得到当前工作目录,即当前Python脚本工作的目录路径: path=os.getcwd() 在这里引用一个比较好的例子,来源于:牛皮糖的旅程 我们将abc.py放入A文件夹.并且希望不管将A文件夹放在硬盘的哪个位置,都可以在A文件夹内生成一个新文件夹.且文件夹的名字根据时间自动生成. im

iOS的沙箱目录和文件操作

一.沙箱 iOS的每一个应用程序都有自己的目录来存放数据,这个目录称为沙箱目录.沙箱目录是一种数据安全策略,它设计的原理是只能允许自己的应用访问目录,而不允许其他的应用访问,这样可以保证数据的安全,应用之间是不能共享数据的. 一些特有的应用(如通讯录)需要特定的API才能共享数据. 下面简单介绍一下,应用程序的沙箱目录,先直观的看一下演示程序的沙箱目录结构. 该应用程序的沙箱路径为: /Users/"用户名"/Library/Developer/CoreSimulator/Device

09-删除目录及文件操作

文件操作基础知识: Directory //操作目录(文件夹),静态类. DirectoryInfo //文件夹的一个“类”,实例类.用来描述一个文件夹对象(获取指定目录下的所有目录时返回一个DirectoryInfo数组.返回文件夹数组) FileInfo //文件类,实例类.用来描述一个文件对象.获取指定目录下的所有文件时,返回一个FileInfo数组. 例:删除F:\a下所有文件夹及文件夹里文件: using System; using System.Collections.Generic

目录和文件操作

创建目录: 1 import os 2 os.makedirs('tmp/python/fileop', exist_ok=True) 会在当前目录下递归创建 tmp/python/fileop 目录,exist_ok=True 指定了,如果某个要创建的目录已经存在,也不会报错 删除目录或文件: 1 # 删除目录 shutil.rmtree() 可以递归的删除某个目录所有的子目录和子文件 2 import shutil 3 shutil.rmtree('tmp') 4 5 # 删除文件 6 os

Linux命令之目录和文件操作

1 pwd:显示当前工作目录 [[email protected] ~]# pwd /root 2 cd:切换当前工作目录 [[email protected] /]# cd                   #切换到当前用户的家目录 [[email protected] ~]# cd ..                #切换到当前目录的上一级目录 [[email protected] /]# cd -                 #返回至前一个目录 3 ls:显示目录和文件信息 选项:

python3的一些文件操作的脚手架

用python把原来的脚本重构了一下,其中写了文件操作的一些函数,如下: import os import shutil import hashlib import stat #查找文件夹中的某个文件 def findMyFileDir(dirPath, findFile): files = [] dirs = [] for root, dirs, files in os.walk(dirPath, topdown=False): for file in files: if file == fi