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)


了解课程

点击上方图片购买课程

点击进入详情页