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. TTTTTTTTTTTTT CF Good Bye 2015 C- New Year and Domino(CF611C) 二维前缀

    题目 题意:给你一个n*m由.和#组成的矩阵,.代表可以放,#代表不可以,问在左上角(px,py)到(右下角qx,qy)这样的一个矩阵中,放下一个长度为2宽度为1的牌有多少种放法: #include ...

  2. springboot + mybatis sql日志

    #mapper sql日志 替换成你的mapper接口所在的包名 logging.level.com.example.dao=debug

  3. mybatis resultType=map时,value为null时返回结果没有对应的key

    mybatis.xml 配置文件设置 <configuration> <settings> <!-- 在null时也调用 setter,适应于返回Map,3.2版本以上可 ...

  4. python学习之路(13)

    列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, ...

  5. 用了 EventBus 不要多用其他的通讯功能

    EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间.组件与后台线程间的通信.主要功能是替代Intent,Handler,BroadCast

  6. js创建对象的6种方式总结

    1.new 操作符 + Object 创建对象 var person = new Object(); person.name = "lisi"; person.age = 21; ...

  7. 【转】diamond专题(三)—— diamond架构

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  8. Hadoop之集群搭建

    准备 需要准备多台主机(已经安装并且配置好hadoop和jdk) 需要配置ssh免密服务 下面我们开始进行配置,拿到已经准备好的主机,主机名分别为: centos101 centos102 cento ...

  9. mybayis分页插件

    转载自 https://www.cnblogs.com/ljdblog/p/6725094.html

  10. SQLServer备份计划制定

    SQLServer备份计划制定 一.备份计划制定 管理-->维护计划-->维护计划向导: 可选择全库备份.差异备份.事务日志备份 为保障数据的完整性:可采用备份策略1.数据量小的场景,数据 ...