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. Jmeter逻辑控制器操作,附栗子

    jmeter中的逻辑控制器确定采样器的执行顺序.右键线程组-->添加-->逻辑控制器. 一.简单控制器 简单控制器对JMeter如何处理添加到其中的采样器没有影响.只是方便我们做分组命名. ...

  2. iOS 获取当前响应链的First Responder (Swift)

    import UIKit private weak var currentFirstResponder: AnyObject? extension UIResponder { static func ...

  3. JavaScript入门2

    5.document对象:Document对象是window对象的一个对象属性,代表浏览器窗口中装载的整个HTML文档.文档中的每个HTML元素对应着JavaScript对象. 因为document代 ...

  4. Docker DOC

    Docker DOC docker是提供给开发或管理人员的容器化部署项目工具 在linux上运行docker 常用命令 docker 安装 #先更新yum yum update; #设置docker仓 ...

  5. AJPFX浅谈关于Java程序员缺乏面向对象的基本功的问题

    为什么很多 Java 程序员会缺乏面向对象基本功?这得怪那些 Java 框架.现在 Java 的各种框架太发达.太傻瓜化了,导致很多程序员只需要按部就班.照着框架进行代码填空,基本已经丧失了 OOA ...

  6. 【学习笔记】深入理解js原型和闭包(11)——执行上下文栈

    继续上文的内容. 执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境.当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境.处于活动状态的执行 ...

  7. mysql5.5版本导入sql报错

    1 在5.5的版本中不支持utf8_german2的类型 2 在5.5版本中只支持timestamp类型设置默认值为CURRENT_TIMESTAMP,不支持datetime类型默认值设置为CURRE ...

  8. 一份最贴近真实面试的Java基础面试题

    这是一份Java基础知识的面试题.在网上的关于Java的面试题数不胜数,但认真看过感觉大多数都没有实用性,有很多是面试官根本就不会问到的,那些已经脱离了实际开发的技术问题.而这份资料来源自一份个人觉得 ...

  9. TFS2010升级至TFS2013完全指南(更换服务器)

    一.背景:         公司已使用tfs2010很长时间,目前随着公司的发展,项目越来越少,而产品越来越多,采用的开发模式,也逐渐从瀑布式.迭代式转向敏捷开发.为了更好的支持产品研发,决定将tfs ...

  10. 备忘录:python 3在class中使用yield

    之前代码都是直接在函数级别使用yield,但封装class后如何使用yield很少遇到. 经过半天的学习,总算完成示例.代码没有什么特殊地方,仅仅作为一个工作项. 与生成器合作: ########## ...