os模块

一 os模块运用
import os

# print(os.getcwd())

# print(os.listdir(r'D:\s2视频目录\day18'))
# print(os.listdir('.'))
# print(os.listdir('..'))

# os.chdir(r'D:\s2视频目录\day08')
# print(os.getcwd())

# print(os.listdir(r'D:\s2视频目录\day08'))
# print(os.listdir(r'.'))

# os.mkdir(r'a')
# os.mkdir(r'a/b')
# os.mkdir(r'a/b/c')

# os.makedirs(r'a\b\c\d\e\f')
# os.rmdir(r'a\b\c\d\e\f')
# os.removedirs(r'a\b\c\d\e\f')

# obj=os.stat(r'D:\s2视频目录\day18\run.py')
# print(obj)

# print(os.sep)
# print(os.linesep)
# print(os.pathsep)

# import time,os
# print(os.getpid())
# time.sleep(500)

# res=os.system('taskliasdfst')
# print('结果是:',res)


# import json
#
# # 当程序所有的文件都需要引用一个变量时,则需要将该变量加入环境变量中
# os.environ['x']=json.dumps(['a','b','c'])
# print(json.loads(os.environ['x'])[0])






# print(os.path.split(r'D:\s2视频目录\day18\03 random模块.py'))
# print(os.path.dirname(r'D:\s2视频目录\day18\03 random模块.py'))
# print(os.path.basename(r'D:\s2视频目录\day18\03 random模块.py'))




# print(os.path.isabs(r'C:\a\b.txt'))
# print(os.path.isabs(r'a\b.txt'))

# print(os.path.isabs('/a/b/c.txt'))
# print(os.path.isabs('a/b/c.txt'))

# print(os.path.join('C:\\','a','D:\\','b','F:\\','c.txt'))

print(os.path.getsize(r'D:\s2视频目录\day18\02 时间模块.py')) #字节

'''
模块导入过程中pycharm不一定会table提醒,不会做一些提示,所以一定要运行一下才知道路径是否已经搭建
模块导入是否已经成功,非绝对路径 只能从最上层,一层一层的给导入下来,比如有文件 1,2,3 这3个,导入就要
(from 1.2.3 import 3里面的函数调用),这是pycharm 内部的一些机制,并不是代码写错的原因,所以一定要试,
“.”用来表示上一层的文件夹,但是只能在包里面用。
'''
二 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下为"\t\n",Linux下为"\n"
os.pathsep    输出⽤于分割文件路径的字符串 win下为;,Linux下为: os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command")  运行shell命令,直接显示
os.environ  获取系统环境变量

三 os和path的连用

path模块

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所指向的文件或者目录的后修改时间 os.path.getsize(path) 返回path的大⼩小

# normcase ⽤用于将路路规范化 会将大写转为小写 斜杠改为当前系统分隔符 print(os.path.normcase("\\a\\b\\ABCS")) # normpath⽤用于将路路径规范化 不不仅将非法的分隔符替换为合法分隔符 还将大写转为小写 并且会执行..的回到上一层 print(os.path.normpath("/a/b/../ABCS"))

 
posted @ 2018-09-22 01:21  不沉之月  阅读(120)  评论(0编辑  收藏  举报