文件路径名的操作

问题

你需要使用路径名来获取文件名,目录名,绝对路径等等。

解法

使用 os.path 模块中的函数来操作路径名。下面是一个交互式例子来演示一些关键的特性:

>>> import os
>>> path = '/Users/beazley/Data/data.csv'>>> # Get the last component of the path
>>> os.path.basename(path)
'data.csv'>>> # Get the directory name
>>> os.path.dirname(path)
'/Users/beazley/Data'>>> # Join path components together
>>> os.path.join('tmp', 'data', os.path.basename(path))
'tmp/data/data.csv'>>> # Expand the user's home directory
>>> path = '~/Data/data.csv'
>>> os.path.expanduser(path)
'/Users/beazley/Data/data.csv'>>> # Split the file extension
>>> os.path.splitext(path)
('~/Data/data', '.csv')
>>>

讨论

对于任何的文件名的操作,你都应该使用 os.path 模块,而不是使用标准字符串操作来构造自己的代码。特别是为了可移植性考虑的时候更应如此,因为 os.path 模块知道 Unix 和 Windows 系统之间的差异并且能够可靠地处理类似 Data/data.csv 和Datandata.csv 这样的文件名。其次,你真的不应该浪费时间去重复造轮子。通常最好是直接使用已经为你准备好的功能。

要注意的是 os.path 还有更多的功能在这里并没有列举出来。可以查阅官方文档来获取更多与文件测试,符号链接等相关的函数说明。

《Python Cookbook 3rd》笔记(5.11):文件路径名的操作相关推荐

  1. 《Python Cookbook 3rd》笔记汇总

    文章目录 一.数据结构 二.字符串和文本 三.数字.日期和时间 四.迭代器与生成器 五.文件与IO 一.数据结构 标题 关键词 1.1:拆分序列后赋值给多个变量 可迭代对象.拆分赋值 1.2:拆分任意 ...

  2. 《Python Cookbook 3rd》笔记(1.4):查找最大或最小的N个元素

    <Python Cookbook 3rd>1.4:查找最大或最小的N个元素 问题 怎样从一个集合中获得最大或者最小的N个元素列表? 解法 heapq 模块有两个函数:nlargest()和 ...

  3. Machine Learning with Python Cookbook 学习笔记 第8章

    Chapter 8. Handling Images 前言 本笔记是针对人工智能典型算法的课程中Machine Learning with Python Cookbook的学习笔记 学习的实战代码都放 ...

  4. Python Cookbook 3rd Edition Documentation

    Python Cookbook 3rd Edition Documentation 文章目录 第一章:数据结构和算法 1.1 解压序列赋值给多个变量 问题 解决方案 讨论 1.2 解压可迭代对象赋值给 ...

  5. 《Python cookbook》笔记二

    <Python cookbook>笔记二 第二章 字符串和文本 -使用多个界定符分割字符串- 你需要将一个字符串分割为多个字段,但是分隔符 (还有周围的空格) 并不是固定 的. # str ...

  6. Machine Learning with Python Cookbook 学习笔记 第6章

    Chapter 6. Handling Text 本笔记是针对人工智能典型算法的课程中Machine Learning with Python Cookbook的学习笔记 学习的实战代码都放在代码压缩 ...

  7. 北理工嵩天Python语言程序设计笔记(8 文件和数据格式化)

    前言 本文是对<北理工 嵩天/黄天宇/礼欣 Python语言程序设计>的学习笔记,供自己查阅使用. 文章目录 北理工嵩天Python语言程序设计笔记(目录) 北理工嵩天Python语言程序 ...

  8. Machine Learning with Python Cookbook 学习笔记 第9章

    Chapter 9. Dimensionality Reduction Using Feature Extraction 前言 本笔记是针对人工智能典型算法的课程中Machine Learning w ...

  9. 《Python Cookbook 3rd》笔记(5.1):读写文本数据

    读写文本数据 问题 你需要读写各种不同编码的文本数据,比如 ASCII,UTF-8 或 UTF-16 编码等. 解法 使用带有 rt 模式的 open() 函数读取文本文件(t表示text文本模式,默 ...

最新文章

  1. oracle中before,Oracle中Before和After触发器的例子
  2. struts+spring+hibernate总结
  3. oracle好难装,安装oracle 10g 的艰难之旅
  4. 12-基于selenium实现12306模拟登录,及京东登录滑动缺口验证模拟登录
  5. 最简洁的y460显卡切换安装方式
  6. python标准库os中用来列出_Python 标准库 os 中用来列出指定文件夹中的文件和子文件夹列表的方式是listdir()。_高职高专数字资源平台答案_学小易找答案...
  7. 可以买的一本书:3D计算机图形学(原书第3版)
  8. 使用 Laravel sharedLock 与 lockForUpdate 进行数据表行锁
  9. 计算机组成原理pd指令是什么,计算机组成原理期中考试(DOC).doc
  10. C语言正函数nosign,Function declarations(函数声明)
  11. 为什么要重写hashCode()
  12. Discuz! X2.5 添加风格模板
  13. 菜鸟上网必备知识大全
  14. mysql防注入方法_防止SQL注入的六种方法
  15. linux 下录音软件,linux下录音软件Audacity[zt]
  16. 急急急急急急!!! liferay portal
  17. 【100%通过率】华为OD机试真题 Java 实现【预订酒店】【2022.11 Q4 新题】
  18. 一秒解决笔记本无法连接网络问题——解决笔记本插网线,显示未识别网络。
  19. java 图片 黑白_java – 将图像转换为黑白(不是灰色标尺)
  20. orcad capture 快速制作原理图库

热门文章

  1. aliyun centos6 安装mysql_阿里云CentOS6.8安装MySQL5.6
  2. delete hive_Hive高级调优
  3. python 怎么处理json_Python是怎样处理json模块的
  4. mfc点击按钮让对话框关闭_WinXP系统开始菜单中关机按钮消失的恢复教程
  5. hp服务器如何ghost系统,惠普(HP)电脑安装不了GHOST系统的解决办法
  6. 小学有学计算机课程,如何进行小学计算机课程有效教学.doc
  7. 【转】C++中的static_cast ,reinterpret_cast的用法和区别
  8. 【转】C++指针详解!!!!
  9. 【基础】Qt-VS调试器下载与配置
  10. 【Github】怎么在README.md中添加图片?