Python语法入门-课件下载
链接: https://pan.baidu.com/s/1h1RuWimLicVanK8xCka_xA 提取码: x264
路径是可以让程序知道待操作的文件在哪里,python中有os和pathlib两个内置的路径库,我们就讲这个名字一看就懂的路径库pathlib。
绝对vs相对
- 相对路径
'img'
- 绝对路径
'C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/img'
**注意:**当移动文件夹位置或者将代码分享给朋友使用时,你的代码再次运行就会出错。为了避免这个问题,强烈建议用相对路径
import pathlib
#当前代码所在的文件夹的相对路径
pathlib.Path()
WindowsPath('.')
from pathlib import Path
#当前代码所在的文件夹的相对路径
Path()
WindowsPath('.')
pathlib.Path()属性方法
**提醒:**下表加粗的都是常用的方法,其他了解即可
方法 | 功能 |
---|---|
cwd() | 获取代码所在的当前工作路径 |
joinpath(…grandpadir, fatherdir, …file) | 生成路径 |
iterdir() | 返回某路径下的文件(夹)目录 |
glob(pattern) | 返回符合pattern的所有文件的文件路径 |
is_file() | 判断某路径是否为文件,返回布尔值 |
is_dir() | 判断某路径是否为文件夹,返回布尔值 |
exists() | 判断某路径是否存在,返回布尔值 |
mkdir(parents=True, exist_ok=True) | 创建某路径对应的文件夹 |
cwd()
例:获取当前代码所在文件夹的绝对路径
Path().cwd()
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门')
joinpath(…grandpadir, fatherdir, …file)
把…grandpadir, fatherdir, …file加入到某路径中
例:获得data文件夹的路径
Path().cwd().joinpath('data')
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data')
例:获得data/test.txt文件的路径
Path().cwd().joinpath('data', 'test.txt')
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/test.txt')
iterdir()
返回某路径下的文件(夹)目录
例:获得02-Python语法入门文件夹里的所有文件(夹)路径
list(Path().cwd().iterdir())
[WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/.ipynb_checkpoints'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/01-Python跟英语一样是一门语言.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/02-数据类型之字符串.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/03-数据类型之列表元组集合.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/04-数据类型之字典.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/05-数据类型之布尔值&None.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/06-逻辑语句(if&for&tryexcept).ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/07-列表推导式.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/08-理解函数.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/09-常用内置函数.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/09-常用函数.md'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/10-内置库之文件路径pathlib库.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/11-内置库之csv文件库.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/12. 内置库之正则表达式re库.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/13-初学python常出错误汇总.ipynb'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/img')]
glob(pattern)
查找某路径内满足pattern的所有文件路径 。
pattern='*.*'
匹配任意格式任意名字的文件
pattern='*.txt'
匹配出所有的txt文件
例:获得data文件夹内的所有的文件路径
list(Path().cwd().joinpath('data').glob('*.*'))
[WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/test.txt'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/test2.csv'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/test2.txt'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/twitter_sentiment.csv')]
例:获得data文件夹内的所有的txt额路径
list(Path().cwd().joinpath('data').glob('*.txt'))
[WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/test.txt'),
WindowsPath('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/test2.txt')]
例:获得data/reports内的pdf路径
dirs = Path().cwd().joinpath('data', 'reports').iterdir()
dirs = list(dirs)
for dir in dirs:
files = dir.glob('*.*')
for file in files:
print(file)
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\600000\600000_20010901_1.pdf
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\600004\600004_2006_n.pdf
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\600004\600004_2006_z.pdf
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\600007\600007_2001_n.pdf
.......
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\600007\600007_2002_1.pdf
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\603937\603937_2018_z.pdf
......
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\603937\603937_2019_3.pdf
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\603937\603937_2019_z.pdf
例**:获得data/reports内的 含有"_n" 额pdf路径
dirs = Path().cwd().joinpath('data', 'reports').iterdir()
dirs = list(dirs)
for dir in dirs:
files = dir.glob('*_n.pdf')
for file in files:
print(file)
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\600000\600000_2006_n.pdf
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\600000\600000_2008_n.pdf
........
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\601872\601872_2014_n.pdf
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\601872\601872_2015_n.pdf
C:\Users\thunderhit\Desktop\Python数据分析入门\02-Python语法入门\data\reports\601872\601872_2016_n.pdf
is_file()
判断某路径是否为一个文件。返回布尔值:
- True 真实存在的文件路径
- False 不真实存在或者文件夹路径
例 ‘C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/test.txt’是文件路径?
fpath = Path('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/test.txt')
fpath.is_file()
True
例 ‘C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/test222.txt’是文件路径?
fpath = Path('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data/test222.txt')
fpath.is_file()
False
fpath = Path('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data')
fpath.is_file()
False
is_dir()
判断某路径是否为一个文件夹。返回布尔值,True、False
例: ‘C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data’ 是 文件夹路径?
fpath = Path('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data')
fpath.is_dir()
True
exists()
判断某路径是否存在。返回布尔值,True、False
例: ‘C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data’ 是否存在?
fpath = Path('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/data')
fpath.exists()
True
fpath = Path('C:/Users/thunderhit/Desktop/Python数据分析入门/02-Python语法入门/datasss')
fpath.exists()
False
mkdir(parents=True, exist_ok=True)
创建某路径
path = Path().cwd().joinpath('data', 'stocks', '800000')
path.mkdir(parents=True, exist_ok=True)