文件(一)文件路径os.path.join()、os.getcwd()、os.chdir()、路径存在判断、文件文件夹判断、绝对路径相对路径转换

一、文件路径

文件夹名称和文件名
Windows 和OS X 不区分大小写,Linux 区分大小写

Windows 路径使用反斜杠\作为分隔符 
OS X 和 Linux 路径使用正斜杠/作为分隔符

如果想要程序运行在所有操作系统上,在编写 Python 脚本时,就必须处理这两种情况。
os.path.join() 函数可以实现如果将单个文件和路径上的文件夹名称的字符串传递给它,
os.path.join() 就会返回一个文件路径的字符串,包含正确的路径分隔符。


>>> import os
>>> os.path.join('demo', 'exercise')
'demo\\exercise'
、
因为此程序是在 Windows 上运行的,所以 os.path.join('demo', 'exercise') 
返回 'demo\\exercise'(请注意,反斜杠有两个,因为每个反斜杠需要由另一个反斜杠字符来转义)
如果在 OS X 或 Linux 上调用这个函数,该字符串就会是 'demo/exercise'
import os
myFiles = ['accounts.txt', 'details.csv', 'invite.docx']
for filename in myFiles:
    print(os.path.join('C:\\demo\\exercise', filename))
    
运行结果为:
C:\demo\exercise\accounts.txt
C:\demo\exercise\details.csv
C:\demo\exercise\invite.docx
在 Python 中,
os.getcwd() 函数可以取得当前工作路径的字符串
os.chdir() 修改当前工作路径 如果修改的工作目录不存在,Python 解释器会报错

>>> import os
>>> os.getcwd()
'C:\\Users\\mengma\\Desktop'
>>> os.chdir('C:\\Windows\\System32')
>>> os.getcwd()
'C:\\Windows\\System32'



>>> os.chdir('C:\\error')
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    os.chdir('C:\\error')
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'C:\\error'

二、绝对路径、相对路径

在这里插入图片描述

Python os.path 模块
os.path.abspath(path) 返回 path 参数的绝对路径的字符串,可实现相对路径转换为绝对路径
os.path.isabs(path) 如果参数是一个绝对路径返回 True,否则返回 False
os.path.relpath(path, start) 返回从 start 路径到 path 的相对路径的字符串
							 如果没有提供 start,就使用当前工作目录作为开始路径
os.path.dirname(path) 将返回一个字符串,它包含 path 参数中最后一个斜杠之前的所有内容
os.path.basename(path) 将返回一个字符串,它包含 path 参数中最后一个斜杠之后的所有内容
os.path.split(path)将返回一个元组 包含path 参数中最后一个斜杠之前、之后两个元素

>>> os.getcwd()
'C:\\Windows\\System32'
>>> os.path.abspath('.')
'C:\\Windows\\System32'
>>> os.path.abspath('.\\Scripts')
'C:\\Windows\\System32\\Scripts'
>>> os.path.isabs('.')
False
>>> os.path.isabs(os.path.abspath('.'))
True
>>> os.path.relpath('C:\\Windows', 'C:\\')
'Windows'
>>> os.path.relpath('C:\\Windows', 'C:\\spam\\eggs')
'..\\..\\Windows'
>>> path = 'C:\\Windows\\System32\\calc.exe'
>>> os.path.basename(path)
'calc.exe'
>>> os.path.dirname(path)
'C:\\Windows\\System32'


>>> os.getcwd()
'C:\\Users\\cy'
>>> os.path.abspath('.\\AppData')
'C:\\Users\\cy\\AppData'
>>> os.path.relpath('.\\AppData')
'AppData'
>>> os.path.relpath('.\\AppData','C:\\Users')
'cy\\AppData'


>>> path = 'C:\\Windows\\System32\\calc.exe'
>>> os.path.split(path)
('C:\\Windows\\System32', 'calc.exe')
os.path.exists(path) 如果 path 参数所指的文件或文件夹存在返回 True,否则返回 False。
os.path.isfile(path) 如果 path 参数存在并且是一个文件返回 True,否则返回 False。
os.path.isdir(path)  如果 path 参数存在并且是一个文件夹将返回 True,否则返回 False。
  • 13
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值