os模块

用于提供系统级别的操作

 os.getcwd()
# 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname")
# 改变当前脚本工作目录;相当于shell下cd os.curdir
# 返回当前目录: ('.') os.pardir
# 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2')
# 可生成多层递归目录 os.removedirs('dirname1')
# 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.mkdir('dirname')
# 生成单级目录;相当于shell中mkdir dirname os.rmdir('dirname')
# 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname os.listdir('dirname')
# 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 os.remove()
# 删除一个文件 os.rename("oldname","newname")
# 重命名文件/目录 os.stat('path/filename')
# 获取文件/目录信息 os.sep
# 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" os.linesep
# 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n" os.pathsep
# 输出用于分割文件路径的字符串 os.name
# 输出字符串指示当前使用平台。win->'nt'; Linux->'posix' os.system("bash command")
# 运行shell命令,直接显示 os.environ
# 获取系统环境变量 os.path.abspath(path)
# 返回path规范化的绝对路径 os.path.split(path)
# 将path分割成目录和文件名二元组返回 os.path.dirname(path)
# 返回path的目录。其实就是os.path.split(path)的第一个元素 os.path.basename(path)
# 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 os.path.exists(path)
# 如果path存在,返回True;如果path不存在,返回False os.path.isabs(path)
# 如果path是绝对路径,返回True os.path.isfile(path)
# 如果path是一个存在的文件,返回True。否则返回False os.path.isdir(path)
# 如果path是一个存在的目录,则返回True。否则返回False os.path.join(path1[, path2[, ...]])
# 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 os.path.getatime(path)
# 返回path所指向的文件或者目录的最后存取时间 os.path.getmtime(path)
# 返回path所指向的文件或者目录的最后修改时间
print(os.path.dirname(r'C:\a\b\c\d.txt'))  # 返回path的目录。其实就是os.path.split(path)的第一个元素
print(os.path.basename(r'C:\a\b\c\d.txt')) # 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
print(os.path.exists(r'C:\a\b\c\d.txt')) # 如果path存在,返回True;如果path不存在,返回False
print(os.path.exists(r'C:\Intel\Logs\IntelGFX.log'))
print(os.path.isabs(r'C:\a\b\c\d.txt')) # 如果path是绝对路径,返回True
print(os.path.isabs(r'a\b\c\d.txt'))
print(os.path.isfile(r'C:\a\b\c\d.txt')) # 如果path是一个存在的文件,返回True。否则返回False
print(os.path.isfile(r'C:\Intel\Logs\IntelGFX.log'))
print(os.path.isdir(r'C:\Intel\Logs')) # 如果path是一个存在的目录,则返回True。否则返回False
print(os.path.isdir(r'C:\a\b\c\d.txt'))
print(os.path.join('C:\\', 'a', 'b', 'a.txt')) # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
print(os.path.getatime(r'C:\Intel\Logs\IntelGFX.log')) # 返回path所指向的文件或者目录的最后存取时间
print(os.path.getsize(r'C:\Intel\Logs\IntelGFX.log')) # 返回path的大小

在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为反斜杠。

import os

res = os.path.normcase('c:/windows\\system32\\')
print(res) 规范化路径,如..和/ res = os.path.normpath('c://windows\\System32\\../Temp/')
print(res) a = '/Users/jieli/test1/\\\a1/\\\\aa.py/../..'
print(os.path.normpath(a))

os路径处理

# 方法一:

import os
import sys res = os.path.normpath(os.path.join(
os.path.abspath(__file__),
os.pardir,
os.pardir
)) sys.path.insert(0, res)
print(res) # 方法二: res = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
print(res)

python_OS 模块的更多相关文章

  1. Python_os模块

    os模块:可以处理文件和目录,是Python系统和操作系统进行交互的一个接口 os模块常用方法: os.getcwd(): 获取当前工作目录,(即当前Python脚本工作的目录路径) os.chdir ...

  2. 多测师讲解python_os模块_高级讲师肖sir

    #os.path.isfile()#:判断当前是否为文件,返回布尔值是文件则True否者Falsea_path='F:\cms搭建.rar' #lesson包b_path=r'D:\bao\kk '# ...

  3. python_os.path模块用法

    python中os.path模块用法: dirname()  用于去掉文件名,返回目录所在的路径 >>> import os >>> os.path.dirname ...

  4. python的os模块fnmatch模块介绍

    一.先介绍一下os模块 import os print(os.getcwd()) # E:\python\test\python_models # 获取当前的目录 print(os.listdir(& ...

  5. npm 私有模块的管理使用

    你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...

  6. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  7. ES6模块import细节

    写在前面,目前浏览器对ES6的import支持还不是很好,需要用bable转译. ES6引入外部模块分两种情况: 1.导入外部的变量或函数等: import {firstName, lastName, ...

  8. Python标准模块--ContextManager

    1 模块简介 在数年前,Python 2.5 加入了一个非常特殊的关键字,就是with.with语句允许开发者创建上下文管理器.什么是上下文管理器?上下文管理器就是允许你可以自动地开始和结束一些事情. ...

  9. Python标准模块--Unicode

    1 模块简介 Python 3中最大的变化之一就是删除了Unicode类型.在Python 2中,有str类型和unicode类型,例如, Python 2.7.6 (default, Oct 26 ...

随机推荐

  1. Luogu P1754球迷购票问题【dp/卡特兰数】By cellur925

    题目传送门 虽然是水dp,但我感到还是有些无从下手== f[i][j]表示还剩i个50元没考虑,j个100元没考虑的方案数,可有转移f[i][j]=f[i-1][j]+f[i][j-1] 但其实它也可 ...

  2. JavaSE基础知识结构

  3. org.codehaus.jettison.json.JSONObject使用方法

    public static void main(String[] args) { System.out.println("测试开始"); File file = new File( ...

  4. PowerShell~文件操作和对象遍历

    ps提供了丰富的文件操作,如建立,删除,改名,移动,复制,文件夹建立,显示文件列表,同时对数组对象的遍历也很方便,如果在使用PS脚本时,希望现时传入参数,可以把参数声明为param,当然需要把它写在文 ...

  5. [转]Linq 如何实现 in 与 not in

    本文转自:http://blog.csdn.net/zhangyumei/article/details/5620363 接触 LINQ 也有很长的一段时间了,有些在 SQL 语句中用的很顺手的东西在 ...

  6. android开发学习 ------- 【转】Genymotion 小白安装

    参考 https://www.cnblogs.com/whycxb/p/6850454.html 很详细,全面

  7. AJPFX总结Java 程序初始化过程

    觉得Core Java在Java 初始化过程的总体顺序没有讲,只是说了构造器时的顺序,作者似乎认为路径很多,列出来比较混乱.我觉得还是要搞清楚它的过程比较好.所以现在结合我的学习经验写出具体过程: 过 ...

  8. STM32&AT指令NBIOT模组

    #include "nbiot.h" #include "string.h" #include "stdlib.h" #include &q ...

  9. VS Code使用技巧整理

    转自:https://blog.csdn.net/u011127019/article/details/58586129 https://blog.csdn.net/sgdd123/article/d ...

  10. 在DLL中创建窗口时一个值得注意的地方 — UnregisterClass

    背景描述: 今天要测试一份注入代码,拿以前写的创建窗口的DLL来做测试. 第一次注入时一切正常,窗口被成功创建并显示,但在第二次加载时窗口没有显示出来. 经过研究发现在第二次加载DLL时Registe ...