首页 > 编程语言 >Python 文件路径

Python 文件路径

时间:2022-11-25 14:07:09浏览次数:44  
标签:caizi 文件 Python 路径 python Path path os




获取主目录


提到文件路径问题,不得不先提一下不同操作系统上文件夹之间的分隔符。在 Windows 操作系统上,路径的写法采用的是 \ 反斜杠。而在 macOS 和 Linux 操作系统上,路径的写法采用的是 / 正斜杠。作为一门跨平台的语言, Python 必须处理上述路径表示的不同。好在使用 pathlib 模块的 Path() 函数处理路径问题很简单。下面的例子演示了在 Windows 系统下获取主目录的例子。

>>> from pathlib import Path
>>> Path.home()
WindowsPath('C:/Users/Caizi')


通过调用 Path.home() 可以获得主文件夹的 Path 对象。同样,下面的例子演示了在 Ubuntu 下获取主目录。

>>> from pathlib import Path
>>> Path.home()
PosixPath('/home/caizi')


由此可以看出,在 Python 中路径的写法都采用 / 正斜杠,最后 Python 再由当前运行的系统对路径进行解析。




路径之间的连接


多个文件夹字符串之间可以直接采用 Path() 连接,也可以使用 / 进行连接。下面的例子演示了在 Ubuntu 下连接路径的几种做法。

>>> from pathlib import Path
>>> Path('caizi', 'python', 'day10')
PosixPath('caizi/python/day10')
>>>
>>> listFiles = ['a.txt', 'b.cocx']
>>> for file in listFiles:
... print(Path(r'/caizi/python', file))
...
/caizi/python/a.txt
/caizi/python/b.cocx
>>>
>>> Path('caizi') / 'day10'
PosixPath('caizi/day10')
>>> Path('caizi') / Path('day10', 'path')
PosixPath('caizi/day10/path')


注意,在使用 / 进行路径连接时,前两个值中有一个必须是 Path 对象。




获取当前目录


使用 Path.cwd() 方法可以获取当前工作目录。

>>> from pathlib import Path
>>> Path.cwd()
PosixPath('/home/caizi')





修改当前目录


使用 os.chdir() 方法可以改变当前工作目录。注意使用前要导入 os 模块。

>>> from pathlib import Path
>>> import os
>>> Path.cwd()
PosixPath('/home/caizi')
>>> os.chdir('/etc')
>>> Path.cwd()
PosixPath('/etc')





查看文件夹内容


使用 os.listdir() 方法可以查看当前路径下所有文件。

>>> import os
>>> os.listdir()
['.cache', 'Music', 'Pictures', ...]





创建文件夹


使用 os.makedirs() 方法可以创建新的文件夹,即所谓的目录,采用此方法可以创建子目录。当然也可以使用 Path 对象的 mkdir() 方法,但是此方法只能创建一个目录,不能创建多级子目录。

>>> import os
>>> os.makedirs('/home/caizi/pythondir')
>>> os.listdir()
['.cache', 'pythondir', 'Music', 'Pictures', ...]





判断路径是绝对路径还是相对路径


使用 Path 对象的 is_absolute() 方法,可以判断路径是绝对路径还是相对路径。

>>> from pathlib import Path
>>> Path('/home/caizi').is_absolute()
True
>>> Path('python/day10').is_absolute()
False





获取路径的各部分属性


在不同的操作系统中,路径的属性有所不同。在 Windows 操作系统中,路径 C:\Users\Caizi\python.py 分为以下几个部分:

1. drive:驱动,即 C:。

2. anchor:锚点,也就是文件系统的根目录,即 C:\\。

3. parent:父文件夹,即 C:\\Users\\Caizi。

4. name:文件名,包括文件的名称(stem)以及扩展名(suffix),即 python.py。


在 Linux 操作系统中,除了没有 drive 属性其他属性都与 Windows 操作系统一样。下面的例子演示了如何在 Windows 操作系统下获取路径各部分属性。

>>> from pathlib import Path
>>> path = Path('C:/Users/Caizi/python.py')
>>> path.drive
'C:'
>>> path.anchor
'C:\\'
>>> path.parent
WindowsPath('C:/Users/Caizi')
>>> path.name
'python.py'
>>> path.stem
'python'
>>> path.suffix
'.py'





获取文件大小


使用 os.path 模块的 getsize() 方法可以获取指定文件的大小,以字节为单位返回。

>>> import os
>>> os.path.getsize('C:/Users/Caizi/python.py')
318





检查路径是否有效


在 Python 中, Path 对象有一些检查路径或文件是否存在的方法。

1. exists():当路径存在时,返回 True 。

2. is_dir():当路径存在且有此文件时,返回 True 。

3. is_file():当路径存在其为文件夹时,返回 True 。

>>> from pathlib import Path
>>> path = Path('C:/Users/Caizi')
>>> path.exists()
True
>>> path = Path('C:/Users/Caizi/python.py')
>>> path.is_file()
True
>>> path.is_dir()
False




标签:caizi,文件,Python,路径,python,Path,path,os
From: https://blog.51cto.com/u_15891283/5886619

相关文章

  • 使用 Python 组织文件
        在 Python 中, shutil 模块还提供了一系列对文件和文件集合的高级操作。特别是提供了一些支持文件拷贝和删除的函数。下面介绍一些组织文件常用操作。复制文件 ......
  • Python入门(9)——函数
    函数是带名字的代码块,用于完成特定的任务,当在程序中多次执行同一任务时,无需反复编写重复的代码块,只需调用执行该任务的函数即可。函数的声明    在Python中使用 def ......
  • Python入门(10)——类
    在Python中,一切都是对象,对象是类的实例,类是对象的蓝图和模板。类是一个抽象的概念,对象是一个类具体的实例。每个对象都有属性和行为,它们都是独一无二的,而且对象一定属于某个......
  • Python入门(8)——集合
    集合的创建    集合是由不重复元素组成的无序容器。创建集合用 {} 大括号或 set() 函数。注意,创建空集合只能用 set() ,不能用 {} , {} 创建的是空字典。......
  • 最全的Python海龟绘图总结
    在Python中使用海龟绘图,需要导入相应的模块,那么什么是模块呢?逻辑上来说模块就是一组功能的组合;实质上一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上......
  • Python入门(7)——元组与字典
    元组元组的定义    不可修改的列表称为元组。元组定义与列表定义的区别在于列表使用 [] 标识,而元组使用 () 标识。严格地说,元组是由逗号 , 标识的,圆括号只是让......
  • Python入门(5)——分支与循环
    使用功能更强大的IDEPyCharm是一款功能强大的Python编辑器,具有跨平台性。学习分支语句及循环语句,为了我们调试方便,我们后期选择使用PyCharm,PyCharm可以直接到官网下载......
  • Python入门(6)——列表
    列表的定义列表是由一系列按特定顺序排列的元素组成。列表可以包含不同类型的元素。列表内元素的值可以重复。列表通常用单词名称的复数表示。列表用方括号 [] 表示,元素......
  • Python入门(3)——基本数据类型及运算符
    常见的几种基本数据类型python是弱类型语言,相对于强类型语言,它不需要声明变量的类型。在Python中一切都是对象。可以使用id()函数查看此对象的id。Python中的数据类型很多,而......
  • Python入门(4)——最全的字符串操作
    修改字符串大小写title():把字符串中每个单词首字母改为大写。upper():把字符串中所有字符改为大写。lower():把字符串中所有字符改为小写。>>>'theintroductiontopython'.......