专栏首页企鹅号快讯Python模块知识6:OS、SYS模块

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

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 #获取当前目录的父目录字符串名('..')

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下为"\t\n",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:分别获取绝对路径和文件夹

importos

print(os.getcwd())#C:\Users\huhuanhuan\PycharmProjects\study2017

print(os.path.abspath(__file__))#方法1获取文件的绝对路径C:\Users\huhuanhuan\PycharmProjects\study2017\s1.py

print(os.path.abspath("s2.py"))#方法2获取文件的绝对路径C:\Users\huhuanhuan\PycharmProjects\study2017\s2.py

print(os.path.dirname(os.path.abspath(__file__)))#获取文件所在的文件夹C:\Users\huhuanhuan\PycharmProjects\study2017

print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#C:\Users\huhuanhuan\PycharmProjects

效果:

案例2:获取绝对路径和上级文件夹

效果:

案例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

importsys

foriteminsys.path:

print(item)

查找优先级:

案例4:假设s2不在系统的目录,则可以先添加,再导入s2文件:

importsys

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

imports2#文件名

使用sys.path.append(path)添加相关的路径,但在退出python环境后自己添加的路径就会自动消失!

案例5:进度条案例:会显示1%一直变到100%

效果:

一直到100%

本文来自企鹅号 - 乐想屋媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python之字符串详解

    大多数人学习的第一门编程语言是C/C++,个人觉得C/C++也许是小白入门的最合适的语言,但是必须承认C/C++确实有的地方难以理解,初学者如果没有正确理解,就...

    企鹅号小编
  • Gartner报告:2018年全球网络安全支出将达963亿美元

    Gartner发布最新预测,2018年全球网络安全支出总额将达到963亿美元,较2017年增长8%。企业在安全方面的支出越来越多,这是监管的结果,代表着消费者心...

    企鹅号小编
  • 自动驾驶车辆在2017年的七大光辉历史时刻

    大多数非工程背景的消费者对自动驾驶技术存疑、或者不信任。不过科技厂商与车厂并未因此却步,他们显然不太在乎消费者的接受度,也不期望消费者购买大量自动驾驶车──至少...

    企鹅号小编
  • Python里的OS与SYS

    os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。

    我被狗咬了
  • os模块,sys模块

    当终端 python test.py 参数1 参数2 ... 执行python文件的时候会接收参数

    小小咸鱼YwY
  • python笔记:路径攻击防范,当前路径,os模块

    在编程中,路径不规范化(允许用户传入相对路径),可能造成文件的泄露。防止这样的攻击可以有三种方法:

    超级大猪
  • python模块之os.path

    python的basename和Unix shell的basename指令是有区别的:

    枇杷李子橙橘柚
  • 遍历取出指定文件夹下所有的文件

    hbbliyong
  • python中os.path 与sys.path

    看别人写的代码,会发现两个和路径设置有关的模块 os 和sys。 python 中我们会使用这两个模块和文件路径, 创建文件 之类的 操作。 使用ubunt...

    Python之道
  • ROS2之assert False, "Failed to find '// Generated: ' line"

    版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)

    zhangrelay

扫码关注云+社区

领取腾讯云代金券