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:')
如果改变的当前工作目录不存在,程序会报错
相对路径和绝对路径的概念和表示
创建新文件夹: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:文件读写之文件与文件路径相关推荐
- Windows x64内核学习笔记(一)—— 环境与配置
Windows x64内核学习笔记(一)-- 环境与配置 前言 新特性 基础要求 实验环境 Guest Win10配置 问题解决 参考资料 前言 之前,跟着海哥学习了windows内核的一些机制,包括 ...
- Windows驱动开发学习笔记(三)—— 内核空间内核模块
Windows驱动开发学习笔记(三)-- 内核空间&内核模块 内核空间 实验 第一步:编译如下代码 第二步:将 .sys 文件拷贝到虚拟机中 第三步:部署 .sys 文件并运行 第四步:创建一 ...
- Windows驱动开发学习笔记(二)—— 驱动调试内核编程基础
Windows驱动开发学习笔记(二)-- 驱动调试&内核编程基础 基础知识 驱动调试 PDB(Program Debug Database) WinDbg 加载 PDB 实验:调试 .sys ...
- Windows phone 8 学习笔记(8) 定位地图导航
Windows phone 8 学习笔记(8) 定位地图导航 原文:Windows phone 8 学习笔记(8) 定位地图导航 Windows phone 8 已经不使用自家的bing地图,新地图控 ...
- Windows phone 8 学习笔记(5) 图块与通知
基于metro风格的Windows phone 8 应用提到了图块的概念,它就是指启动菜单中的快速启动图标.一般一个应用必须有一个默认图块,还可以有若干个次要图块.另外,通知与图块的关系比较密切,我们 ...
- Windows x64内核学习笔记(五)—— KPTI(未完待续)
Windows x64内核学习笔记(五)-- KPTI(未完待续) KPTI 实验一:构造IDT后门并读取Cr3 参考资料 KPTI 描述:KPTI(Kernel page-table isolati ...
- Windows x64内核学习笔记(四)—— 9-9-9-9-12分页
Windows x64内核学习笔记(四)-- 9-9-9-9-12分页 前言 9-9-9-9-12分页 实验一:线性地址转物理地址 页表基址 定位基址 PTE to PXE 实验二:通过页表基址定位各 ...
- Windows x64内核学习笔记(三)—— SMEP SMAP
Windows x64内核学习笔记(三)-- SMEP & SMAP SMEP & SMAP 实验:构造IDT后门 第一步:编译以下代码 第二步:构造IDT后门 第三步:运行程序 第四 ...
- Windows消息机制学习笔记(三)—— 消息的接收与分发
Windows消息机制学习笔记(三)-- 消息的接收与分发 要点回顾 消息循环 消息队列 消息的接收 GetMessage 实验1:理解GetMessage 第一步:编译并运行程序A 第二步:编译并运 ...
最新文章
- python使用matplotlib可视化使用subplots子图、subplots绘制子图并为可视化的子图添加主标题(subplots main title)
- 基于.NET平台常用的框架整理(转)
- JVM_java内存区域
- 从 Hello World 开始
- 无符号数、有符号数、补码在汇编中的运用及相关注意事项
- bash: telnet: command not found...
- 【scala初学】scala IDE eclipse
- python程序如何执行死刑_「Python基础知识」Python生成器函数
- pyclewn调试带参数程序
- micropython和python区别-MicroPython简介
- 相称显微镜下细胞群体跟踪
- react之组件异步加载
- java基础 题和知识点总结, 关于String s是否默认初始化为null......,new一个对象和类静态域,是不是在内存中不是一个地方...
- 樽海鞘算法(Salp Swarm Algorithm: SSA)
- oracle新建定时任务,Oracle 定时任务详解
- 怎么压缩PPT大小?
- 微信商户收款码在哪里下载 -PC端
- Excel的Text函数详解
- 互动媒体——随及行为以及运动学
- 2015年ps计算机试题,2015年3月全国计算机一级考试ps模拟试题及答案(二).doc
热门文章
- VueJS 开发常见问题集锦
- JPA规范的主要内容
- oracle 共享硬盘主从,oracle dataguard主从切换
- python计算余弦距离_在Python中计算余弦距离的优化方法
- webrtc agc matlab,c++ WebRTC AGC(自动增益控制)
- 计算机指令系统课件,计算机组成原理课件05指令系统.ppt
- 数据结构之线段树进阶(区间更新lazy标记)
- idea mac 替换_Mac软件IntelliJ IDEA 上的快捷键,让你的工作更加顺畅
- 打印图形(1)(C+Java)
- 计算机辅助初中数学教学,初中数学合作教学如何融入计算机辅助教学