文件系统操作(os模块)

 import os

 file_name = "D:\\test_data\\1.txt"
file_name_2 = "D:\\test_data\\3.txt"
# 删除文件
# os.remove(file_name) # 文件重命名
# os.rename(file_name, file_name_2) # 删除空目录
dir_name = 'D:\\test_data\\1'
# os.removedirs(dir_name) dir = 'D:\\test_data\\1'
# 获取指定目录下的文件列表
file_lists = os.listdir(dir)
print("获取指定目录下的文件列表:", file_lists)
# 获取文件创建时间
file_time = os.path.getmtime(dir + "\\" + file_lists[-1])
print("文件创建时间:", file_time)
# 判断文件是否是目录
file_is_dir = os.path.isdir(dir + "\\" + file_lists[-1])
print("文件是否是目录:", file_is_dir)
# 组装文件完整路径
file_path = os.path.join(dir, file_lists[-1])
print("文件的完整路径:", file_path)
# 获取文件大小
file_size = os.path.getsize(file_path)
print("文件大小:", file_size)

运行结果:

 获取指定目录下的文件列表: ['2-1', '2-1.txt', '2-2', '2-2.txt']
文件创建时间: 1500290284.2089198
文件是否是目录: False
文件的完整路径: D:\test_data\1\2-2.txt
文件大小: 3

文件遍历:

  • 遍历目录下所有文件包括子目录
  • os.walk功能:递归遍历目录下的文件和子目录,参数(需要遍历的目录,排序=ture为顺序)
  • 返回三个值:当前目录、当前目录下的目录列表和当前目录下的文件列表
 for file_path, dirs, file_names in os.walk(dir_name, topdown=True):
print("----------------------------------")
print("原名:", file_path, dirs, file_names)
for file_name in file_names: # 遍历文件名列表
print("-" * 20)
print("目录下文件路径:", os.path.join(file_path, file_name))
file_name_temp = os.path.join(file_path, file_name) # 组装完整文件名称,含路径
list = file_path.split("\\") # 切分文件名,方便获取父目录名称
print("文件父目录名:", list[-1])

运行结果:

 ----------------------------------
原名: D:\1 ['2-1', '2-2'] ['2-1.txt', '2-2.txt']
----
目录下文件路径: D:\1\2-1.txt
文件父目录名: 1
----
目录下文件路径: D:\1\2-2.txt
文件父目录名: 1
----------------------------------
原名: D:\1\2-1 ['3-1', '3-2'] ['3-1.txt']
----
目录下文件路径: D:\1\2-1\3-1.txt
文件父目录名: 2-1
----------------------------------
原名: D:\1\2-1\3-1 [] ['4-1.txt']
----
目录下文件路径: D:\1\2-1\3-1\4-1.txt
文件父目录名: 3-1
----------------------------------
原名: D:\1\2-1\3-2 [] []
----------------------------------
原名: D:\1\2-2 [] []

python之文件系统操作(os模块)的更多相关文章

  1. python文件、文件夹操作OS模块

    转自:python文件.文件夹操作OS模块   '''一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: ...

  2. Python 入门之 内置模块 -- os模块

    Python 入门之 内置模块 -- os模块 1.os os是和操作系统做交互,给操作发指令 os模块是与操作系统交互的一个接口,它提供的功能多与工作目录,路径,文件等相关 (1)工作路径 prin ...

  3. Python文件系统功能:os模块

    Python文件系统功能:os模块 1.os模块方法分类 (1)目录: chdir() 改变工作目录 chroot() 设定当前进程的根目录 listdir() 列出指定目录下的所有文件名 mkdir ...

  4. python文件操作os模块

    Python 统计某一文件夹下文件数量 使用python  pathlib模块 from pathlib import Path dir_path = ' ' print(len(list(Path( ...

  5. [转]python中对文件、文件夹的操作——os模块和shutil模块常用说明

    转至:http://l90z11.blog.163.com/blog/static/187389042201312153318389/ python中对文件.文件夹的操作需要涉及到os模块和shuti ...

  6. python杂记-1(os模块)

    os模块说明:python os模块包含普遍的操作系统功能 os.access(path, mode) # 检验权限模式 os.chdir(path) # 改变当前工作目录os.chflags(pat ...

  7. 【Python】 sys和os模块

    sys sys模块能使程序访问于python解释器联系紧密的变量和函数 ● sys中的一些函数和变量 argv 命令行参数构成的列表 path 查找所有可用模块所在的目录名的列表 platform 查 ...

  8. python 输入输出,file, os模块

    Python 输入和输出 输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数. 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout ...

  9. Python学习笔记之os模块

    Python中的os提供了非常丰富的方法用来处理文件和目录,下面我们将详细的介绍os相关的一些方法和函数: os 路径相关的函数: 1.os.listdir(dirname):列出dirname目录下 ...

随机推荐

  1. vue自定义指令(Directive中的clickoutside.js)的理解

    阅读目录 vue自定义指令clickoutside.js的理解 回到顶部 vue自定义指令clickoutside.js的理解 vue自定义指令请看如下博客: vue自定义指令 一般在需要 DOM 操 ...

  2. (转)vim中多行注释

    1.多行注释:  1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;  2. 在行首使用上下键选择需要注释的多行;  3. 按下键盘(大写)“I”键,进入插入模式:  ...

  3. 12,13,14节-51单片机ESP8266学习-AT指令(暂停更新)需要整理

    从这一节开始,以视频加源码的形式,后期视频和程序将放在链接中 资料链接 链接: https://pan.baidu.com/s/1jpHZjW_7pQKNfN9G4B6ZjA     密码:nhn3  ...

  4. TCP/IP协议--TCP协议概括和TCP连接的建立和终止

    TCP提供一种面向连接的.可靠的字节流服务.面向连接指,发送和接收方在交换数据前必须建立一个TCP连接.顺便说下,一个TCP连接只有两方,因此广播和多播是不能应用于TCP的.字节流指,两个应用程序通过 ...

  5. CF939D Love Rescue 并查集

    传送门 题意:给出两个由小写字母构成的长度相等的字符串$S$与$T$,给出变换$c1\,c2$表示将两个字符串中所有$c1$字符变为$c2$,求将$S$和$T$通过这种变换变为相等字符串的最少变换次数 ...

  6. BZOJ1816 CQOI2010 扑克牌 贪心

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1816 题意:有$N$堆牌,第$i$堆牌有$c_i$张牌,还有$M$张$joker$,每 ...

  7. Luogu P4317 花神的数论题

    也是一道不错的数位DP,考虑先转成二进制后再做 转化一下问题,考虑统计出\([1,n]\)中在二进制下有\(i\)个\(1\)的方案数\(cnt_i\),那么答案显然就是\(\prod i^{cnt_ ...

  8. 如何利用Android Studio打包React Native APK

    ok!百度出来的东西很杂,所以,这里介绍一种最简单,最合适我们(新手,应该是吧)的APK的打包方式! 当然!这种打包是基于Android Studio的,所以,注意喽!!!! 废话不多说开始吧! 首先 ...

  9. M1事后分析汇报以及总结

    一.设想和目标 1. 们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件主要是为了提供周边美食和菜谱查询功能,为“吃货”们提供便利.对典型用户和场景有清晰的描 ...

  10. Linux内核设计期中总结

    Linux内核设计期中总结 ● 知识点 一.计算机是如何工作的 计算机是按照冯·诺依曼存储程序的原理. 在执行程序时须先将要执行的相关程序和数据放入内存储器中,在执行程序时CPU根据当前程序指针寄存器 ...