os.curdir必威 返回当前目录,解释器解释该py文件

Python模块知识6:OS、SYS模块,pythonos

1、os模块,和系统相关的,举例获取路线、目录、文件夹之类

常用方法:

  • os.getcwd() #取安妥前职业目录,即眼下Python脚本专门的学问的目录路径

  • os.rename('oldname','new')#重命名文件/目录

  • os.path.abspath(path) #回去path典型化的相对路线,含文件名的

  • os.path.dirname(path) #获得文件所在的文件夹名称

  • os.chdir("dirname") #改进前段时间剧本的干活目录,也正是shell下的cd

  • os.path.join(path1[,path2[,...]])#将多少个门路组合重回,第二个相对路线以前的参数将被忽略

  • os.curdir #归来当前目录:('.'卡塔 尔(阿拉伯语:قطر‎

  • os.pardir #获得当前目录的父目录字符串名('..'卡塔 尔(英语:State of Qatar)

  • os.makedirs('dir1/dir2')#可分娩多层递归目录

  • os.removedirs('dirname1')#若目录为空,则删除,并递归到上拔尖目录,假若也为空,则删除,就那样类推

  • os.mkdir('dirname')#扭转单级目录,也正是shell中的mkdir dirname

  • os.rmdir('dirname')#剔除单级空目录,若目录不为空,则不可能删除,报错,约等于shell中的rmdir dirname

  • os.listdir('dirname')#列出内定目录下的享有文件和子目录,富含隐形文件,并以列表方式打字与印刷

  • os.remove()#删去二个文书,

  • os.stat('path/filename')#获得文件/目录音信

  • os.sep 操作系统特定的门路分隔符,win下为"\",linux下为"/"

  • os.linesep #前段时间平台运用的行中支付,win下为"tn",Linux下为"/n"

  • os.pathsep#用来分隔文件路线的字符串

  • os.name #字符串只是前段时间利用平台,win->'nt';Linux->'posix'

  • os.system("bash command")#运作shell命令,间接突显

  • os.environ#收获系统景况变量

  • os.path.split(path)#将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.getatime(path)#重回path所指向的文件可能目录最终存取的年华

用法案例:

案例1:分别获得相对路径和文件夹

import os
print(os.getcwd())#C:UsershuhuanhuanPycharmProjectsstudy2017
print(os.path.abspath(__file__))#方法1获取文件的绝对路径C:UsershuhuanhuanPycharmProjectsstudy2017s1.py
print(os.path.abspath("s2.py"))#方法2获取文件的绝对路径C:UsershuhuanhuanPycharmProjectsstudy2017s2.py
print(os.path.dirname(os.path.abspath(__file__)))#获取文件所在的文件夹C:UsershuhuanhuanPycharmProjectsstudy2017
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#C:UsershuhuanhuanPycharmProjects

效果:

案例2:获取相对路线和上司文件夹

import os
base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(os.path.abspath(__file__))
print(os.path.dirname(os.path.abspath(__file__)))
print (base_dir)

效果:

案例3:程序中常和sys结合使用,自动抬高目录

案例4:os.rename('oldname','new')#重命名文件/目录

纵然和次序在同三个目录,能够直接写文件名,假若不在同一目录,供给制定详细的门道。

案例5:os.chdir("dirname") 改动前段时间剧本的劳作目录,相当于shell下的cd

2、SYS模块

    sys模块则是python程序用来倡议解释器行为的接口。举例关于调节和测量检验类的(trace, frames,except卡塔 尔(阿拉伯语:قطر‎等,profiling类(stats, getsizeof),运营时环境类(python path, stderr, stdout),解释器自个儿(如version卡塔尔国。inspect某种程度上得以看成是在sys提供的职能上的叁个卷入。

案例1:命令行参数List,第三个成分是程序本人路线,sys.argv[0]为脚本名称

import sys

print(sys.argv)

结果:

['C:/Users/.../PycharmProjects/study2017/s2.py']

案例2:再次回到python解释程序的版本音讯

print(sys.version)

3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)]

案例3:模块查找目录优先级。

sys.path是python的查找模块的路线集,是八个list

import sys
for item in sys.path:
print(item)

搜索优先级:

案例4:假若s2不在系统的目录,则能够先增多,再导入s2文件:

import sys
sys.path.append('D:\')#导入D盘文件夹
import s2#文件名

运用sys.path.append(path)增添相关的路线,但在抽离python情形后自身丰富的路子就能自动消失!

如若急需越来越好地垄断输出,而print 不能够满意你的供给,则可选取专门的学问的写入写出的作用;sys.stdout.write(),sys.stdout.flush()。

案例5:进程条案例:会显得1%直接变到100%

import time
import sys
def view_bar(num,total):
    rate=num/total
    rate_num=int(rate*100)
#d='r%d%%'%(rate_num,)#r代表重新回到当前行的首个位置,需要和时间停留配合使用,要么时针会有错,显示为一直变的数字,如17%
    d='r%s>%d%%'%("="*num,rate_num)#如果是此语句,则显示方式可以为=================>17%
   sys.stdout.write(d)
    sys.stdout.flush()

if __name__=='__main__':
for i in range(0,101):
        time.sleep(0.5)
        view_bar(i,100)

效果:

一直到100%

os模块详整

块的导入
导入贰个py文件,解释器解释该py文件
导入二个包,解释器解释该包下的 init.py 文件

1.作用:

import module 直接导入模块
from module.xx.xx import xx 从有些模块包导入某些模块
from module.xx.xx import xx as rename 从有个别包导入模块并给起各自名
from module.xx.xx import * 从有些包导入该包下全部模块
模块安装
第一种
yum install 模块名称
pip install 模块名称
pip3 install 模块名称
apt-get
第二种
下载源码
解压源码
进去目录
编写翻译源码 python setup.py build
设置源码 python setup.py install
sys模块
导入形式: import sys
模块用场:调取系统音讯
作用介绍
sys.argv 命令行参数List,第叁个因素是前后相继本人路线 实践 a.py a b c # ["a.py","a","b", "c"]
sys.exit(n) 退出程序,平常退出时exit(0) 0-127 默感到0
sys.version 获取Python解释程序的版本音讯
sys.maxint 最大的Int值
sys.path 重返模块的追寻路线,初叶化时使用PYTHONPATH情况变量的值
sys.platform 重回操作系统平台名称 如:win32 win64 .. 用于跨平台
sys.stdout.write('please:') 标准化输入
val = sys.stdin.readline()[:-1]
os模块
导入方式:import 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下为"tn",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)的第2个成分
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所指向的文书只怕目录的最后更正时间
os.getpid() 获取进度的pid
os.getppid() 获取父进度的pid

本文由必威发布于必威-运维,转载请注明出处:os.curdir必威 返回当前目录,解释器解释该py文件

相关阅读