glob path(python库)

glob

这里有两种方法导入glob

mport glob #导入整个glob模块

from glob import golb #从glob模块导入glob函数

三种通配符

  • *代表0个或多个字符
  • ?代表一个字符
  • \]匹配指定范围内的字符,如\[0-9\]匹配数字

#1、定义一个函数,搜索C盘下的所有文件和目录,并返回一个列表(这里使用import glob)

import glob

def search():
f = glob.glob(r'c:*')#glob.glob表示glob模块下的glob函数
print(f)

if name == "main":
search()

#2、定义一个函数查询E盘中以.exe结尾的文件有哪些(这里使用from glob import glob):

from glob import glob#导入模块的同名函数

def search():
f = glob(r'e:*.exe')#直接调用函数
for i in f:
print(i)
if name == "main":
search()

复制代码
### glob.iglob() 函数

```python
import glob
# 父目录中的.py文件
f = glob.iglob(r'../*.py')
print(f)      # generator object iglob as 0x00B9FF80
for py in f:
    print(py)

获取一个可遍历对象,使用它可以逐个获取匹配的文件路径名。

与glob.glob()的区别是:glob.glob()可同时获取所有的匹配路径,而glob.iglob()一次只能获取一个匹配路径。

Path

python 复制代码
from pathlib import Path
1.提取文件名
path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_file_name = path_str.name
print(path_file_name)
#demo.py
2.提取父文件路径
方法名 : .parent
path_str = Path(r"/usr/HinGwenWoong/demo.py")
path_parent_path = path_str.parent
print(path_parent_path)
#\user\HinGwenWoong
11.glob
方法名 : .glob
from pathlib import Path

path_str = Path(r"/user/HinGwenWoong/scripts")
print(path_str.glob('*.py'))
#[PosixPath('/user/HinGwenWoong/scripts/demo_1.py'), 
#PosixPath('/user/HinGwenWoong/scripts/demo_2.py')]

3.提取文件后缀
方法名 : .suffix
4.更改文件后缀
方法名 : .with_suffix
5.提取无后缀的文件名
方法名 : .stem
6.遍历文件
方法名 : .iterdir()
7.组合文件路径
方法名 : .joinpath
8.是否绝对路径
方法名 : is_absolute()
9.是否文件夹 or 文件
方法名 : is_dir()、 is_file()
10.是否存在
方法名 : .exists()
相关推荐
@木辛梓9 分钟前
Linux 线程
linux·开发语言·c++
PieroPc17 分钟前
用python streamlit sqlite3 写一个聊天室
python·streamlit·聊天室
低头不见21 分钟前
策略模式上下文管理
windows·python·策略模式
Xander W22 分钟前
基于K8s集群的PyTorch DDP 框架分布式训练测试(开发机版)
人工智能·pytorch·分布式·python·深度学习·kubernetes
文火冰糖的硅基工坊33 分钟前
[人工智能-大模型-103]:模型层 - M个神经元组成的单层神经网络的本质
python·算法·机器学习
坚持就完事了35 分钟前
XPath语法及Python的lxml包学习
python
孤独的追光者37 分钟前
使用Qt Designer开发上位机
开发语言·python·qt
杨超越luckly42 分钟前
HTML应用指南:利用POST请求获取全国爱回收门店位置信息
大数据·前端·python·信息可视化·html
m0_736927041 小时前
Java面试场景题及答案总结(2025版持续更新)
java·开发语言·后端·职场和发展
muyouking111 小时前
Rust + WASM + Svelte 深度实战:内存管理、性能权衡与图像处理进阶
开发语言·rust·wasm