11.3 OS模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11.3 OS模块相关的知识,希望对你有一定的参考价值。

OS模块
# -*-coding:utf-8 -*-
__author__ = ‘xiaojiaxin‘
__file_name__ = ‘OS模块‘

import os
import time

#打印当前工作目录
print(os.getcwd())
# C:\Users\xiaojiaxin\PycharmProjects\fullstack1\week3\day12

#修改当前的工作目录
# print(os.chdir(r"C:\User"))
# print(os.getcwd())

#返回当前工作目录
# print(os.curdir())
#返回当前目录的父目录字符串名
# print(os.pardir( ))

#在当前目录下创建多层目录
#print(os.makedirs("123\\jiaxin"))

#删除文件夹,返回值为None,只能删空文件,目录下有文件不能删除目录
#print(os.removedirs("123\\jiaxin"))

#创建单个目录
# print(os.mkdir("456"))
# print(os.mkdir("456\\abc"))  #直接创建两层会报错
#删除单个目录
# print(os.rmdir("456\\abc"))  #删除abc目录,456目录保持不删
#print(os.removedirs("456"))

#列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表形式打开,重要
#r表示原生字符串,不需要转义
dir1=os.listdir(r"C:\Users\xiaojiaxin\PycharmProjects\fullstack1\week3\day12")
print(dir1)
# [‘456‘, ‘OS模块.py‘]

#os.remove只能删除文件,不能删除文件目录
#print(os.remove("456\\oj.py"))

#修改文件或目录的名字
#print(os.rename("456","ohh"))

#获取文件信息,必会!!!
print(os.stat(‘.\\ohh‘))
# os.stat_result(st_mode=16895, st_ino=18295873486272314, st_dev=3225605757, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1521514679, st_mtime=1521514679, st_ctime=1521513980)
#文件大小信息,时间(最近修改时间,最近访问时间,最近修改文件权限时间)
print(os.stat(".\\ohh").st_size)
# 0
print(os.stat(".\\ohh").st_atime)
# 1521514679.6086266   返回时间戳
print(time.localtime(os.stat(".\\ohh").st_atime))
#time.struct_time(tm_year=2018, tm_mon=3, tm_mday=20, tm_hour=10, tm_min=57, tm_sec=59, tm_wday=1, tm_yday=79, tm_isdst=0)
#返回结构化时间
#操作系统下的分隔符,win下为\ 反斜杠,Linux下为/  正斜杠
print(os.sep)
# 
#不同操作系统的换行符,win下为\r\n,linux下为\n,mac下为\r  换行
print(os.linesep)

#不同操作系统的路径分割符,win下为;,linux下为 :
print(os.pathsep)

#输字符串指示当前使用的操作系统,win下为nt,linux下为posix
print(os.name)
# nt
#执行shell命令,直接显示
print(os.system("dir"))

#获取环境变量
print(os.environ)
# environ({‘ALLUSERSPROFILE‘: ‘C:\\ProgramData‘, ‘APPDATA‘: ‘C:\\Users\\xiaojiaxin\\AppData\\Roaming‘, ‘CLASSPATH‘:

#找出他的绝对路径
print(os.path.abspath(‘.\ohh‘))
# C:\Users\xiaojiaxin\PycharmProjects\fullstack1\week3\day12\ohh
#将path分割成目录和文件名二元组返回
print(os.path.split(‘.\ohh‘))
# (‘.‘, ‘ohh‘)

#取文件夹所在的名字,有用!!!
print(os.path.dirname(r"C:\Users\xiaojiaxin\PycharmProjects\fullstack1\week3\day12\ohh"))
# C:\Users\xiaojiaxin\PycharmProjects\fullstack1\week3\day12
#返回path最后的文件名
print(os.path.basename(r"C:\Users\xiaojiaxin\PycharmProjects\fullstack1\week3\day12\ohh"))
# ohh

#如果path存在,返回true,否则返回false
p2=os.path.exists(r"C:\Users\xiaojiaxin\PycharmProjects\fullstack1\week3\day12\ohh")
print(p2)
# True

#判断是否为绝对路径
p3=os.path.isabs(r"C:\Users\xiaojiaxin\PycharmProjects\fullstack1\week3\day12\ohh")
print(p3)
#True

#判断是否为目录或文件
# os.path.isdir(path)
# os.path.isfile(path)
#路径拼接,很重要
# os.path.join(path1,path2)

# 获取路径所获取的时间
# os.path.getatime(path)
# os.path.getctime(path)
# os.path.getmtime(path)

以上是关于11.3 OS模块的主要内容,如果未能解决你的问题,请参考以下文章

C#程序员经常用到的10个实用代码片段

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

在 iOS 11.3 beta 2 中将 ARReferenceImage 与 ARKit 一起使用会导致“错误:运行 actool 时出现异常:”

如何有条件地将 C 代码片段编译到我的 Perl 模块?

python os 模块

vscode代码片段建议bug