常用属性和函数:
一、目录和文件操作:
os.getcwd():
获取当前工作目录,即当前python脚本工作的目录路径
import os
print(os.getcwd())
执行结果:
D:\PycharmProjects\moon
os.chdir():
格式:os.chdir(path)
改变当前脚本工作目录;相当于shell下cd
import os
print(os.getcwd())
os.chdir("D:\\Users")
print(os.getcwd())
执行结果:
D:\PycharmProjects\moon
D:\Users
os.curdir:
属性值为当前文件所在目录
示例1:
import os
print(os.curdir)
执行结果:
.
示例2:
import os
os.chdir("D:\\Users\\HUANGZHIWEI816\\PycharmProjects")
print(os.curdir)
执行结果:
D:\PycharmProjects\moon
os.pardir:
当前目录的父目录字符串名:(‘..’)
import os
print(os.pardir)
执行结果:
..
os.makedirs():
格式:os.makedirs(‘dirname1/dirname2’)
可生成多层递归目录
os.makedirs("D:\\Users\\a\\b")
os.removedirs():
格式:os.removedirs(‘dirname1’)
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.removedirs("D:\\Users\\a\\b")
os.mkdir():
os.mkdir(‘dirname’)
生成单级目录;相当于shell中mkdir dirname
os.mkdir("D:\\Users\\a")
os.rmdir():
格式:os.rmdir(‘dirname’)
删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.rmdir("D:\\Users\\a")
os.listdir():
格式:os.listdir(‘dirname’)
列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
import os
print(os.listdir("D:\\Users"))
执行结果:
['Administrator', 'All Users']
os.remove():
格式:os.remove(path)
删除一个文件
os.remove("D:\\Users\\a.txt")
os.rename():
格式:os.rename(“oldname”,”newname”)
重命名文件/目录
os.rename("a.txt","b.txt")
os.stat():
格式:os.stat(path)
获取文件/目录信息
>>> os.stat("D:\\JAVA")
os.stat_result(st_mode=16895, st_ino=5066549580799382, st_dev=2723888362, st_nli
nk=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1511917788, st_mtime=1511917788
, st_ctime=1511917731)
二、系统属性和操作相关:
os.sep:
输出操作系统特定的路径分隔符,win下为”\”,Linux下为”/”
>>> os.sep
'\\'
os.linesep:
输出当前平台使用的行终止符,win下为”\t\n”,Linux下为”\n”
>>> os.linesep
'\r\n'
os.pathsep:
输出用于分割文件路径的字符串
>>> os.pathsep
';'
os.name:
输出字符串指示当前使用平台。win->’nt’; Linux->’posix’
>>> os.name
'nt'
os.system():
格式:os.system(“command”)
运行命令,直接显示
>>> os.system("dir /b")
DLLs
Doc
include
Lib
os.popen():
格式:popen(command [, mode=’r’ [, bufsize]])
作用:该方法在执行命令的同时会打开一个管道流将输出内容返回给一个文件对象。(Open a pipe to/from a command returning a file object.)
脚本:
# -*- coding:utf-8 -*-
import os
s=os.popen("dir /b")
print("返回值:")
print(s)
print("\n返回值类型:")
print(type(s))
print("\n返回值内容:")
for line in s:
print(line)
执行结果:
返回值:
<open file 'dir /b', mode 'r' at 0x01E2D1D8>
返回值类型:
<type 'file'>
返回值内容:
free.py
logs
os.environ:
系统环境变量
>>> os.environ
environ({'USERDNSDOMAIN': 'aaa')
三、文件路径相关
os.path.abspath():
格式:os.path.abspath(path)
返回path规范化的绝对路径
>>> os.path.abspath("D:\\Users")
'D:\\Users'
os.path.split():
格式:os.path.split(path)
将path分割成目录和文件名二元组返回
>>> os.path.split("D:\\Users\\a.txt")
('D:\\Users', 'a.txt')
os.path.dirname():
格式:os.path.dirname(path)
返回path的目录。其实就是os.path.split(path)的第一个元素
>>> os.path.dirname("D:\\Users\\a.txt")
'D:\\Users'
os.path.basename():
格式:os.path.basename(path)
返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
>>> os.path.basename("D:\\Users\\a.txt")
'a.txt'
os.path.exists():
格式:os.path.exists(path)
如果path存在,返回True;如果path不存在,返回False
>>> os.path.exists("D:\\Users\\a.txt")
False
os.path.isabs():
格式:os.path.isabs(path)
如果path是绝对路径,返回True
>>> os.path.isabs("D:\\Users\\a.txt")
True
os.path.isfile():
格式:os.path.isfile(path)
如果path是一个存在的文件,返回True。否则返回False
>>> os.path.isfile("D:\\Users")
False
os.path.isdir():
格式:os.path.isdir(path)
如果path是一个存在的目录,则返回True。否则返回False
>>> os.path.isdir("D:\\Users")
True
os.path.getatime():
格式:os.path.getatime(path)
返回path所指向的文件或者目录的最后存取时间
>>> os.path.getatime("D:\\Users")
1509680561.0371678
os.path.getmtime():
格式:os.path.getmtime(path)
返回path所指向的文件或者目录的最后修改时间
>>> os.path.getmtime("D:\\Users")
1509680561.0371678
os.path.join():
格式:os.path.join(*parentpath,filename)
将目录和文件名组合成路径(可以将目录拆分成多个,例如D:\a\abc目录,可以拆分成D:\a和abc)
>>> os.path.join("D:\\a","abc",'a.txt')
'D:\\a\\abc\\a.txt'