Python项目操作-os
<p>说明:os模块是python内置的与操作系统功能和文件 系统相关的模块。</p>
<p>1、os常用函数</p>
<pre><code>(1)操作目录
os.sep
说明:获取当前操作系统所使用的分割符。
案例:
import os
print(os.sep)
输出 \
os.linesep
说明:获取当前操作系统的换行符。例如,Windows使用'\r\n',Linux 使用'\n' ,而Mac使用'\r'。
os.name
说明:获取操作系统类型。比如对于 Windows,它是'nt',而对于 Linux/Unix用户,它是'posix'。
os.getcwd()
说明:返回当前的工作目录的相对路径。
os.curdir
说明:返回当前目录('.')。
os.getenv()
说明:函数用来读取。
os.putenv()
说明:函数用来设置环境变量。
os.chdir(path)
说明:把path设置为当前工作目录。
os.mkdir(path)
说明:创建目录,如果该目录已经存在,则抛出异常。
案例
>>> import os
>>> os.mkdir("C:\\Users\\可如\\Desktop\\keru")
os.makedirs(path)
说明:创建多级目录。
案例
>>> import os
>>> os.makedirs("C:\\Users\\可如\\Desktop\\keru0\\keru001\keru002")
os.rmdir(path)
说明:
1、删除目录。
2、如果要删除的目录不存在,则抛出异常。
3、该方法只能删除空目录,如果要删除非空目录,可以使用shutil.rmtree(path)函数。
案例1:删除keru空目录
import os
os.rmdir("C:\\Users\\可如\\Desktop\\keru")
案例2:删除keru目录及其内容。
import shutil
shutil.rmtree("C:\\Users\\可如\\Desktop\\keru")
os.system()
说明:函数用来运行shell命令。
os.walk()
说明
1、遍历目录树,该方法返回一个元组,包括所有路径名、所有目录列表和文件列表3个元素,即(dirpath、dirnames、filenames)。
2、返回值说明:
dirpath:表示当前遍历的路径,是一个字符串。
dirnames:表示当前路径下包含的子目录,是一个列表。
filenames:表示当前路径下包含的文件,是一个列表。
格式
os.walk(top[,topdown][,onerror][,followlinks])
参数说明:
top:用于指定要遍历内容的根目录。
topdown:可选参数,用于指定遍历的顺序,如果值为True,表示自上而下遍历(先遍历根目录);如果值为False,表示自下而上遍历(先遍历最后一级子目录);默认值为True。
onerror:可选参数,用于指定错误处理方式,默认为忽略。如果不想忽略,也可以指定一个错误处理函数,通常采用默认模式。
followlinks:可选参数,在默认情况下,walk()函数不会向下转换成解析到目录的符号链接。将该参数值设置为True,表示用于指定在支持的系统●●问由符号连接指向的目录。
案例:
import os
#遍历E:\PROGRAM\PYTHON\CODE\001目录
tuples = os.walk("E:\PROGRAM\PYTHON\CODE\001")
print(tuples)
注意:
os.walk()函数只在UNIX和Windows系统有效。
(2)操作文件
os.remove(path)
说明
1、删除path指定路径的文件。
2、要删除的文件存在,则删除;若不存在,则抛出异常。
os.removedirs(path1/path2...)
说明:删除多级目录。
os.listdir(path)
说明:列举目录下的所有文件。
os.access(path,accessmode)
说明:
1、获取对文件是否有指定的访问权限(读取/写入/执行权限)。
2、accessmode的值是R_OK(读取)、W_OK(写入)、X_OK(执行)、F_OK(存在)。
3、如果有指定的权限,则返回1,否则返回0。
os.chmod(path,mode)
说明:修改path指定的文件路径。
os.stat(path)
说明
1、返回path指定文件的信息。
2、start()函数返回值是一个对象,该对象包含如下属性,通过这些属性可以获取文件的基本信息。
start()函数返回对象的属性:
st_mode:保护模式
st_ino:索引号
st_nlink:硬链接号(被连接数目)
st_size:文件大小,单位为字节
st_dev:设备名
st_uid:用户ID
st_gid:组ID
st_atime:最后一次访问时间
st_ctime:最后一次状态变化时间(系统不同返回结果也不同,例如,在Win系统下返回的是文件的创建时间)
st_mtime:最后一次修改时间
os.startfile(path,[,operation])
说明:使用关联的应用程序打开path指定的文件。
(3)操作文件\目录
os.getatime(path)
说明:获取文件或文件夹的最后访问时间,从新纪元到访问时的秒数。
os.getmtime(path)
说明:获取文件或文件夹的最后修改时间。
os.getctime(path)
说明:获取文件或文件夹的创建时间。
os.listdir(path)
说明:返回指定路径下的文件和目录信息。
os.rename(old,new)
说明
1、给文件或目录重命名,old:旧文件名\目录,new:新文件名\目录。
2、如果要重命名的文件或目录不存在,则会抛出异常。
3、使用rename()函数重命名目录时,只能修改最后一级的目录名称,否则抛出异常。
os.renames(old,new)
说明
1、给多个文件或目录重命名,old:旧文件名\目录,new:新文件名\目录。
2、如果要重命名的文件或目录不存在,则会抛出异常。</code></pre>
<p>2、os.path常用函数</p>
<pre><code>os.path.adspath(path)
说明:用于获取文件或目录的绝对路径。
os.path.exists(path)
说明:用于判断目录或文件是否存在,如果存在返回True,否则返回False。
案例
>>> import os
>>> print(os.path.exists("E:\\kr"))
False
os.path.json(path,name)
说明
1、将目录与目录或文件名拼接起来。
2、使用该函数拼接路径时,并不会检测该路径是否真实存在。
3、使用json()函数时,如果要拼接的路径中存在多个绝对路径,那么从左到右,以最后一次出现的为准,并且该路径之前的参数都会被忽略。
案例
>>> import os
>>> print(os.path.join("E:\\code","E:\\python\\mk","C:\\kr\\","demo"))
C:\kr\demo
os.path.splitext()
说明:分离文件名和拓展名。
os.path.basename(path)
说明:从一个目录中提取文件名。
os.path.dirname(path)
说明:从一个路径中提取文件路径,不包括文件名。
os.path.isdir(path)
说明:用于判断是否为路径。</code></pre>