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

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

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

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

当前工作目录

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

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

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

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

创建新文件夹: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。

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

  1. Windows x64内核学习笔记(一)—— 环境与配置

    Windows x64内核学习笔记(一)-- 环境与配置 前言 新特性 基础要求 实验环境 Guest Win10配置 问题解决 参考资料 前言 之前,跟着海哥学习了windows内核的一些机制,包括 ...

  2. Windows驱动开发学习笔记(三)—— 内核空间内核模块

    Windows驱动开发学习笔记(三)-- 内核空间&内核模块 内核空间 实验 第一步:编译如下代码 第二步:将 .sys 文件拷贝到虚拟机中 第三步:部署 .sys 文件并运行 第四步:创建一 ...

  3. Windows驱动开发学习笔记(二)—— 驱动调试内核编程基础

    Windows驱动开发学习笔记(二)-- 驱动调试&内核编程基础 基础知识 驱动调试 PDB(Program Debug Database) WinDbg 加载 PDB 实验:调试 .sys ...

  4. Windows phone 8 学习笔记(8) 定位地图导航

    Windows phone 8 学习笔记(8) 定位地图导航 原文:Windows phone 8 学习笔记(8) 定位地图导航 Windows phone 8 已经不使用自家的bing地图,新地图控 ...

  5. Windows phone 8 学习笔记(5) 图块与通知

    基于metro风格的Windows phone 8 应用提到了图块的概念,它就是指启动菜单中的快速启动图标.一般一个应用必须有一个默认图块,还可以有若干个次要图块.另外,通知与图块的关系比较密切,我们 ...

  6. Windows x64内核学习笔记(五)—— KPTI(未完待续)

    Windows x64内核学习笔记(五)-- KPTI(未完待续) KPTI 实验一:构造IDT后门并读取Cr3 参考资料 KPTI 描述:KPTI(Kernel page-table isolati ...

  7. Windows x64内核学习笔记(四)—— 9-9-9-9-12分页

    Windows x64内核学习笔记(四)-- 9-9-9-9-12分页 前言 9-9-9-9-12分页 实验一:线性地址转物理地址 页表基址 定位基址 PTE to PXE 实验二:通过页表基址定位各 ...

  8. Windows x64内核学习笔记(三)—— SMEP SMAP

    Windows x64内核学习笔记(三)-- SMEP & SMAP SMEP & SMAP 实验:构造IDT后门 第一步:编译以下代码 第二步:构造IDT后门 第三步:运行程序 第四 ...

  9. Windows消息机制学习笔记(三)—— 消息的接收与分发

    Windows消息机制学习笔记(三)-- 消息的接收与分发 要点回顾 消息循环 消息队列 消息的接收 GetMessage 实验1:理解GetMessage 第一步:编译并运行程序A 第二步:编译并运 ...

最新文章

  1. python使用matplotlib可视化使用subplots子图、subplots绘制子图并为可视化的子图添加主标题(subplots main title)
  2. 基于.NET平台常用的框架整理(转)
  3. JVM_java内存区域
  4. 从 Hello World 开始
  5. 无符号数、有符号数、补码在汇编中的运用及相关注意事项
  6. bash: telnet: command not found...
  7. 【scala初学】scala IDE eclipse
  8. python程序如何执行死刑_「Python基础知识」Python生成器函数
  9. pyclewn调试带参数程序
  10. micropython和python区别-MicroPython简介
  11. 相称显微镜下细胞群体跟踪
  12. react之组件异步加载
  13. java基础 题和知识点总结, 关于String s是否默认初始化为null......,new一个对象和类静态域,是不是在内存中不是一个地方...
  14. 樽海鞘算法(Salp Swarm Algorithm: SSA)
  15. oracle新建定时任务,Oracle 定时任务详解
  16. 怎么压缩PPT大小?
  17. 微信商户收款码在哪里下载 -PC端
  18. Excel的Text函数详解
  19. 互动媒体——随及行为以及运动学
  20. 2015年ps计算机试题,2015年3月全国计算机一级考试ps模拟试题及答案(二).doc

热门文章

  1. VueJS 开发常见问题集锦
  2. JPA规范的主要内容
  3. oracle 共享硬盘主从,oracle dataguard主从切换
  4. python计算余弦距离_在Python中计算余弦距离的优化方法
  5. webrtc agc matlab,c++ WebRTC AGC(自动增益控制)
  6. 计算机指令系统课件,计算机组成原理课件05指令系统.ppt
  7. 数据结构之线段树进阶(区间更新lazy标记)
  8. idea mac 替换_Mac软件IntelliJ IDEA 上的快捷键,让你的工作更加顺畅
  9. 打印图形(1)(C+Java)
  10. 计算机辅助初中数学教学,初中数学合作教学如何融入计算机辅助教学