os.path-对路径path进行的操作

在调用os.path时, 根据操作系统的不同 程序会选择使用posixpath.pyntpath.py(由os中的代码实现).

对文件命名时应当使用unicode字符串(操作系统允许的字符), 但unix中有时无法使用任意字符进行命名, 此时需要字节对象进行表示. 而windows的情况则相反.

因此对于此模块中的方法, 既可以传递字节文件路径对象, 也可以传递字符文件路径对象.


关于文件路径自动扩展(替换路径中的环境变量):

该模块中有两个方法支持自动扩展

1.expanduser(path) 用于扩展用户目录路径

import os

fp1 = os.path.expanduser('~')
fp2 = os.path.expanduser("~user") print(fp1, fp2, sep='\n')
# result:
# C:\Users\<自己的用户名>
# C:\Users\user

有以下注意点:

  • 参数path中必须以 ~ 或 ~user 开始
  • ~ 的替换与环境变量 USERPROLIE 有关(windows中), ~user 的替换与环境变量 HOMEPATH 和 HOMEDRIVE(主要) 相关

2.expandvars(path) 用于扩展环境变量的值

import os

fp1 = os.path.expandvars("$USERPROFILE\$OS")
fp2 = os.path.expandvars("${USERPROFILE}") print(fp1, fp2, sep='\n')
# result:
# C:\Users\<username>\Windows_NT
# C:\Users\<username>

有以下注意点:

  • 环境变量的表示方法为 $name${name}
  • windows中还可以表示为 %name%
  • 查询环境变量可以使用os.environ

os.path路径拓展 python3的更多相关文章

  1. Python之os.path路径模块中的操作方法总结

    #os.path模块主要集成了针对路径文件夹的操作功能,这里我们就来看一下Python中的os.path路径模块中的操作方法总结,需要的朋友可以参考下 解析路径路径解析依赖与os中定义的一些变量: o ...

  2. Python3基础 os.path.dirname 对路径字符串进行处理 返回所在文件夹的路径

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  3. Python3基础 os.path.basename 处理路径字符串,返回文件的名字

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  4. Python3 操作系统与路径 模块(os / os.path / pathlib)

    #!/usr/bin/env python # coding=utf-8 __author__ = 'Luzhuo' __date__ = '2017/5/7' import os def os_de ...

  5. python3中,os.path模块下常用的用法总结

    abspath basename dirname exists getatime getctime getmtime getsize isabs isdir isfile islink ismount ...

  6. python3 os.path.realpath(__file__) 和 os.path.cwd() 方法的区别

    python3 os.path.realpath(__file__) 和 os.path.cwd() 方法的区别 os.path.realpath 获取当前执行脚本的绝对路径. os.path.rea ...

  7. Python3.x:os.path模块

    Python3.x:os.path模块 #返回绝对路径 os.path.abspath(path) #返回文件名 os.path.basename(path) #返回list(多个路径)中,所有pat ...

  8. Python3 os.path() 模块

    os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序       号 方法及描述 1 os.access(path, mode):检验权限模式 2 os.chdir(path) ...

  9. Python3 os.path() 模块笔记

    os.path 模块主要用于获取文件的属性. 以下是 os.path 模块的几种常用方法: 方法 说明 os.path.abspath(path) 返回绝对路径 os.path.basename(pa ...

随机推荐

  1. Springboot 使用Jedis

    Springboot 使用Jedis 依赖 <dependency> <groupId>org.springframework.boot</groupId> < ...

  2. R_Studio(时序)Apriori算法寻找频繁项集的方法

    应用ARIMA(1,1,0)对2015年1月1日到2015年2月6日某餐厅的销售数量做为期5天的预测 setwd('D:\\dat') #install.packages("forecast ...

  3. 前端学习之三——jquery选择器

    Jquery中的选择器分为几大类:基本过滤选择器,层次选择器,内容过滤选择器,可见性过滤选择器,属性过滤选择器,子元素过滤选择器,表单对象选择器和表单对象属相过滤选择器. 1.非基本过滤选择器,一般需 ...

  4. TL;DR

    英文文章中,偶尔会出现TL;DR 的字符. TL;DR=>Too Long; Don’t Read=>太长了,读不下去=>长话短说 一般用于在文章开头先给出干货.

  5. gojs常用API

    操作类API: 添加节点: myDiagram.model.addNodeData(node); var node = {}; node["key"] = "节点Key& ...

  6. html 行内元素和块级元素

    行内元素一般是内容的容器,而块级元素一般是其他容器的容器.一般情况下,行内元素只能包含内容或者其它行内元素,宽度和长度依据内容而定,不可以设置,可以和其它元素和平共处于一行:而块级元素可以包含行内元素 ...

  7. leetcode-easy-listnode-19 remove nth node from end of list

    mycode  88.29% 关键是一定要head前新建一个节点,否则要分类讨论很多次来避免slow或者fast出现None.next的错误 # Definition for singly-linke ...

  8. IFB上挂载NETEM

    转发虚拟网卡的ingress 建立虚拟网卡的ingress转发到ifb0(每一个Pod): tc qdisc add dev calixxxxxxxxxxx ingress tc filter add ...

  9. Linux_LVM&Quota

    目录 目录 磁盘分区RHEL6 磁盘管理指令 mount fdisk lvm LVM图形化 quota quota指令 磁盘分区RHEL6 磁盘管理指令 cfdisk -l 查询分区状况 df -Th ...

  10. 大众点评cat监控平台搭建

    参考官方文档:https://github.com/dianping/cat/wiki/readme_server 1.数据库相关 (1)创建数据库cat,并执行以下sql创建相关表: CREATE ...