C 怎么处理windows路径_python学习笔记-7:文件读写之文件与文件路径

文件关键属性:路径+文件名

根据已知的文件路径生成包含正确路径分隔符的文件路径字符串:

import osstt = os.path.join('usr','bin','spam')print(stt)#usrbinspam

windows的路径分隔符为,字符串中使用需要转义字符,因此应输入为

当前工作目录

程序运行时,都有一个当前工作目录。要查看当前工作目录,可用os.getcwd();要改变当前工作目录,可用os.chdir(),如:

import osos.getcwd()os.chdir('C:')

如果改变的当前工作目录不存在,程序会报错

89d89ebcc3a623fb4cd25d28ad9ea92d.png

相对路径和绝对路径的概念和表示

创建新文件夹:os.makedirs()

import osos.makedirs('C:甥敳獲EDZDesktopjjuu')

os模块的os.path包含可很多与文件名和文件路径相关的函数。

处理相对路径和绝对路径的函数

os.path.abs(path)参数为相对路径,函数返回绝对路径的字符串

os.path.isabs(path)如果参数是一个绝对路径,返回true,否则返回false

os.path.relpath(path,start)返回从start路径到path路径的相对路径的字符串。如果没有提供start,就使用当前工作目录。

代码示例:

>>> os.path.abspath('.')'C:Python34'>>> os.path.abspath('.Scripts')'C:Python34Scripts'>>> os.path.isabs('.')False>>> os.path.isabs(os.path.abspath('.'))True>>> os.path.relpath('C:Windows', 'C:')'Windows'>>> os.path.relpath('C:Windows', 'C:spameggs')'....Windows'>>> os.getcwd()'C:Python34'

os.path.basename()和os.path.dirname()

os.path.dirname(path)将返回参数中最后一个斜杠之前所有的内容

os.path.basename(path)将返回参数中最后一个斜杠之后所有的内容

代码示例:

>>> path = 'C:WindowsSystem32calc.exe'>>> os.path.basename(path)'calc.exe'>>> os.path.dirname(path)'C:WindowsSystem32'

如果同时需要一个路径的目录名称和基本名称,就可以调用os.path.split(),获得这两个字符串的元组,像这样:

>>> (os.path.dirname(calcFilePath), os.path.basename(calcFilePath))('C:WindowsSystem32', 'calc.exe')

使用 split()字符串方法,并根据 os.path.sep 中的字符串进行分割。

>>> calcFilePath.split(os.path.sep)['C:', 'Windows', 'System32', 'calc.exe']

os.path.getsize(path)

返回path参数中文件的字节数

注:调用 os.listdir(path)将返回文件名字符串的列表,包含 path 参数中的每个文件

检查路径有效性

如果你提供的路径不存在,许多 Python 函数就会崩溃并报错。os.path 模块提供了一些函数,用于检测给定的路径是否存在,以及它是文件还是文件夹。

如果 path 参数所指的文件或文件夹存在,调用 os.path.exists(path)将返回 True,否则返回 False。

如果 path 参数存在,并且是一个文件,调用 os.path.isfile(path)将返回 True,否则返回 False。

如果 path 参数存在,并且是一个文件夹,调用 os.path.isdir(path)将返回 True,否则返回 False。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值