查找文件及路径的基本操作

输出目录下的文件、文件夹,遍历文件及查询文件信息

包含的模块:os、time、glob、time、datetime、fnmatch
os.getcwd()
os.path.join()
os.listdir()
os.scandir()
os.stat()
os.walk()
glob.glob()
time.ctime()
datetime.datetime.fromtimestamp()
fnmatch.fnmatch()

1.os模块

. os.getcwd() #获得该程序所在的路径

import os
print(os.getcwd())

输出结果为该程序运行的绝对路径

  • os.path.jion() #让程序在windows和其他系统下都可以输出文件路径
print(os.path.join('alien_invasion','images'))

输出结果为:alien_invasion\images

  • os.listdir() #遍历该程序运行的路径下的所有文件
#遍历该程序运行的路径下的所有文件
for item in os.listdir():
     print(item)

#遍历指定相对路径或绝对路径下的文件
for items in os.listdir('E:\\data'):
    print(items)

在listdir的基础上判文件时文件还是文件夹

for item in os.listdir():
    print(item,os.path.isdir(item))  
  • os.scandir() #可以给出文件名字、相对路径、是否为文件夹
for file in os.scandir():
    print(file.name,file.path,file.is_dir())

#注意是否为文件夹的表述方式,在不同的方法下,函数也不同

#文件的相关信息**.stat()**
#st_size:文件的体积大小(单位:bytes),除以1024就是kb
#st_atimes:文件最近的访问时间
#st_mtimes:文件最近的修改时间
#st_ctimes:Windows下表示创建时间
import os
for file in os.scandir():
    print(file.name,file.stat())
import os
print(os.stat('text.py'))
  • os.walk #遍历文件夹中的所有文件
#dirpath 文件夹的路径
#dirnames #dirpath这个文件夹下的子文件列表
#filenames #dirpath这个文件夹下的文件列表

#遍历当前相对路径下的文件夹、子文件夹、文件
import os
for dirpath,dirnames,filenames in os.walk('./'):
    #一个格式不同类型的信息合在一起要加f,
    print(f'发现文件夹{dirpath}')
    print(filenames)

2.glob

*匹配所有字符
?也可但是后边只有一个字符
[0-9] 包含[]中的字符
[!sep] 不包含[]中的字符

print(glob.glob( 'python*.py'))
import glob
#把藏在很多层下面的文件都找出来
print(glob.glob('**/*.ipynb',recursive=True))

3.Time 将.stat()输出的时间戳转化为可以读懂的格式

#Unix时间戳
#转换为可以看懂的时间time.ctime()
import time
for file in os.scandir():
    print(file.name,file.stat().st_size,time.ctime(file.stat().st_mtime))

4.datetime

#datetime模块
#datetime.datetime.fromtimestamp()
import datetime
that_time=datetime.datetime.fromtimestamp(2324567899)
print(that_time)
print(that_time.hour,that_time.minute,that_time.second)

5.fnmatch

#匹配文件名称,文件名1是否满足变量2的要求
import fnmatch
print(fnmatch.fnmatch('makerbean','m*'))
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读