OS模块

封装了posit, mac 和nt。 操作系统功能, 涉及文件及目录等操作。不受平台限制。os模块允许一个程序不需要任何改动,同时在linux 和 windows下运行。和windows下powershell以及linux里的command操作类同。 

常用操作

#!usr/bin/env python
# -*- coding:utf-8 -*-
# os模块的操作

import os


print(os.getcwd())
# 获取当前目录, 即当前python脚本工作的目录路径
# 类似Linix中pwd

os.chdir("C:\\Users")  # 第一个\为转换符
print(os.getcwd())   # 返回 C:\Users
os.chdir(r"C:\Users\janej\Documents\1. Self education\Python\Memo\Moduel 2 函数\Module")  # 推荐方法
print(os.getcwd())   # 返回 C:\Users\janej\Documents\1. Self education\Python\Memo\Moduel 2 函数\Module
# change dir, 改变当前脚本工作

print(os.curdir)   # 属性非操作,当前目录
print(os.pardir)   # 属性非操作,父级目录


os.makedirs(r"C:\a\b\c\d")
# 递归地创建文件。在Linux中,如果父级目录(比如c)还不村子,文件d是无法创建的。 makedirs实现此功能。

os.removedirs(r"C:\a\b\c\d")
#  若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
# 应用:清理空文件夹

os.mkdir(r'C:\a')  # 在a文件没有创建的情况下,不能创建b
os.mkdir(r'C:\a\b')  # 一步一步创建
os.rmdir(r'C:\a\b')  # 同理mkdir
os.rmdir(r'C:\a')

print(os.listdir())  # 返回:['Intro', 'json', 'os_M', 'pickle', 'random_M', 'sys', 'Times_M']
print(os.listdir('.'))  # 返回同上,返回当前文件所在目录
print(os.listdir('..'))  # 返回当前目录的上一级。 返回:['Decorator', 'Generator', 'Iter.py', 'Module']

os.remove()   # 删除一个文件,变量为文件路径
os.rename('oldname','newname')  # oldname 代表文件路径老名字,newname新名字的文件路径

print(os.stat(r'Intro')) # 返回:os.stat_result(st_mode=16895, st_ino=5910974510965550, st_dev=613980378, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1502373417, st_mtime=1502373417, st_ctime=1502369942)
# 返回指定文件的属性; atime-存储时间, mtime 修改时间

print(os.sep)  # \
# 输出操作系统特定的路径分隔符。
# 不同平台的分隔符不一样。 win下为“\\”,Linux下为“/”。

print(os.linesep)  # \r\n
# 输出当前操作系统特定的行终止符
# win下为“\r\n”, Linux下为“\n”

print(os.pathsep)  #
# 输出用于分隔文件路径的字符串
# win下为分号“;”, Linux下为“:”

print(os.name)  # nt
# 输出字符串指示当前使用平台
# win下为“nt”, Linus下为“posix”

print(os.system("dir"))
# 函数语法:os.system(command)
# 用于执行命令, win下如dir,ipconfig/all

print(os.environ)
# 返回为dictionary, 查看当前系统的环境变量

os.path操作

#!usr/bin/env python
# -*- coding:utf-8 -*-
# os.path 路径操作, 变量全路径

import os

print(os.path.abspath(__file__))  # C:\Users\janej\Documents\1. Self education\Python\Memo\Moduel 2 函数\Module\os_M\M_os2.py
# 返回path规范化的绝对路径。 __file__表示取当前文件

print(os.path.split(__file__))   # ('C:/Users/janej/Documents/1. Self education/Python/Memo/Moduel 2 函数/Module/os_M', 'M_os2.py')
# 将path分隔程目录和文件名的元组返回

print(os.path.dirname(__file__))  # C:/Users/janej/Documents/1. Self education/Python/Memo/Moduel 2 函数/Module/os_M
# 返回path的目录,其实就是os.path.split的第一个元素

print(os.path.basename(__file__))   # M_os2.py
# 返回path最后的文件名。 如果path以/或\结尾,那么就会返回控制。 即os.path.split(path)的第二元素

print(os.path.exists(r"C:"))   # True
# 判断路径是否存在,返回True如果path存在。
# win 有多个根目录有C:\或D:\,可以随意分盘; linux 下只有“\”

print(os.path.isabs(__file__))    # True
# 返回True如果path是绝对路径

print(os.path.isfile(__file__))     # True
# 返回True,如果path是一个存在的文件。

print(os.path.isdir(__file__))      # False
# 如果path是一个存在的目录,则返回为True

print(os.path.join(r"C:",r"\a.txt"))
# 将多个路径组合后返回,第一个绝对路劲之前的参数将被忽略


print(os.path.getatime(__file__))   # 1502633559.1595118
# 返回path所指向的文件或者目录的最后存取时间


print(os.path.getmtime(__file__))   # 1502633559.1595118
# 返回path所指向的文件或者目录的最后修改时间
os.path

 

posted on 2017-07-12 23:39  lg100_lg100  阅读(175)  评论(0编辑  收藏  举报