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. vue2.0中watch总结:普通监听和深度监听

    watch:{} 是一个对象,一定要当成对象来用,可监听数据,是vue中数据发生变化进行处理的函数, 它有三个选项 第一个handler:其值是一个回调函数.即监听到变化时应该执行的函数.第二个是de ...

  2. 通过Flink实现个推海量消息数据的实时统计

    背景 消息报表主要用于统计消息任务的下发情况.比如,单条推送消息下发APP用户总量有多少,成功推送到手机的数量有多少,又有多少APP用户点击了弹窗通知并打开APP等.通过消息报表,我们可以很直观地看到 ...

  3. request.getAttribute()和request.getParameter()两个方法的区别

    request.getAttribute()获得的数据必须曾经有过setAttibute()过: 而request.getParameter()获得是客户端POST或者GET请求时所携带的参数的值 g ...

  4. C++入门经典-例3.5-判断某一年是否是闰年之嵌套判断

    1:代码如下: // 3.5.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  5. CodeForge源码分享

    <a target=_blank href=http://www.codeforge.cn/point/?recoid=2215596>CodeForge源码分享</a>

  6. LeetCode 2. 两数相加(Add Two Numbers)

    题目描述 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入: ...

  7. echarts+json笔记

    echart_test.html <!DOCTYPE html> <head> <meta charset="utf-8"> <scrip ...

  8. 可滚动UIStackView 竖向居中 / 横向右对齐

    重点: 在scroll view和stack view之间加一个UIView. 竖向居中Tutorial: https://stackoverflow.com/questions/50766400/c ...

  9. linux 接收udp流花屏的问题

    最近服务部署到一个Linux上面,接收udp的广播流花屏,问运维说带宽正常,就琢磨了一下应该的丢包了,程序本身申请的socket缓存还是蛮大的,就看看系统的缓存, 用命令cat /proc/sys/n ...

  10. 全面解读php-面向对象

    一.类的自动载入 //类的自动载入我们使用 spl_autoload_register($autoload_function ).我们需要在不同的地方包含更多不同的类文件,只需要多写几个 $autol ...