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()
相关推荐
李剑一19 小时前
Python学习笔记1
python
q***318319 小时前
Windows安装Rust环境(详细教程)
开发语言·windows·rust
合作小小程序员小小店19 小时前
桌面安全开发,桌面二进制%恶意行为拦截查杀%系统安全开发3.0,基于c/c++语言,mfc,win32,ring3,dll,hook,inject,无数据库
c语言·开发语言·c++·安全·系统安全
合作小小程序员小小店19 小时前
桌面开发,超市管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·sqlserver·c#
Codeking__19 小时前
C++ 11 atomic 原子性操作
开发语言·c++
懂得节能嘛.19 小时前
【Java动态线程池】Redis监控+动态调参
java·开发语言·redis
ModestCoder_20 小时前
ROS Bag与导航数据集技术指南
开发语言·人工智能·自然语言处理·机器人·具身智能
卡提西亚20 小时前
C++笔记-34-map/multimap容器
开发语言·c++·笔记
2***B44920 小时前
C++在金融中的QuantLibXL
开发语言·c++·金融