文件关键属性:路径+文件名
根据已知的文件路径生成包含正确路径分隔符的文件路径字符串:
import osstt = os.path.join('usr','bin','spam')print(stt)#usrbinspam
windows的路径分隔符为,字符串中使用需要转义字符,因此应输入为
当前工作目录
程序运行时,都有一个当前工作目录。要查看当前工作目录,可用os.getcwd();要改变当前工作目录,可用os.chdir(),如:
import osos.getcwd()os.chdir('C:')
如果改变的当前工作目录不存在,程序会报错
创建新文件夹:os.makedirs()
import osos.makedirs('C:甥敳獲EDZDesktopjjuu')
os模块的os.path包含可很多与文件名和文件路径相关的函数。
处理相对路径和绝对路径的函数
os.path.abs(path)参数为相对路径,函数返回绝对路径的字符串
os.path.isabs(path)如果参数是一个绝对路径,返回true,否则返回false
os.path.relpath(path,start)返回从start路径到path路径的相对路径的字符串。如果没有提供start,就使用当前工作目录。
代码示例:
>>> os.path.abspath('.')'C:Python34'>>> os.path.abspath('.Scripts')'C:Python34Scripts'>>> os.path.isabs('.')False>>> os.path.isabs(os.path.abspath('.'))True>>> os.path.relpath('C:Windows', 'C:')'Windows'>>> os.path.relpath('C:Windows', 'C:spameggs')'....Windows'>>> os.getcwd()'C:Python34'
os.path.basename()和os.path.dirname()
os.path.dirname(path)将返回参数中最后一个斜杠之前所有的内容
os.path.basename(path)将返回参数中最后一个斜杠之后所有的内容
代码示例:
>>> path = 'C:WindowsSystem32calc.exe'>>> os.path.basename(path)'calc.exe'>>> os.path.dirname(path)'C:WindowsSystem32'
如果同时需要一个路径的目录名称和基本名称,就可以调用os.path.split(),获得这两个字符串的元组,像这样:
>>> (os.path.dirname(calcFilePath), os.path.basename(calcFilePath))('C:WindowsSystem32', 'calc.exe')
使用 split()字符串方法,并根据 os.path.sep 中的字符串进行分割。
>>> calcFilePath.split(os.path.sep)['C:', 'Windows', 'System32', 'calc.exe']
os.path.getsize(path)
返回path参数中文件的字节数
注:调用 os.listdir(path)将返回文件名字符串的列表,包含 path 参数中的每个文件
检查路径有效性
如果你提供的路径不存在,许多 Python 函数就会崩溃并报错。os.path 模块提供了一些函数,用于检测给定的路径是否存在,以及它是文件还是文件夹。
如果 path 参数所指的文件或文件夹存在,调用 os.path.exists(path)将返回 True,否则返回 False。
如果 path 参数存在,并且是一个文件,调用 os.path.isfile(path)将返回 True,否则返回 False。
如果 path 参数存在,并且是一个文件夹,调用 os.path.isdir(path)将返回 True,否则返回 False。