材料参考《Python编程快速上手-让繁琐工作自动化》
1、导入os模块:import os
2、常用方法及示例
函数或方法 |
说明 | 示例 |
os.getcwd() |
取得当前工作路径 | |
os.chdir('‘) |
变更当前工作路径 | os.chdir('D:\Program Files\python3\pyworks') |
os.makedirs('') | 创建新文件夹 | os.makedir('C:\\delicious\\walnut\\waffles') |
os.path.join('a','b',...) | 拼接返回路径字符串 | os.path.join('usr','bin','spam') Windows中返回:'usr\\bin\\spam' OS X或Linux中返回:'/usr/bin/spam' |
os.path.abspath(path) | 返回path的绝对路径 | os.path.abspath('.') |
os.path.isabs(path) | 判断是否为绝对路径 | 是则返回True,否则返回False |
os.path.relpath(path,start) | 返回从start到path的相对路径 | |
os.path.dirname(path) | 返回path中最后一个\前的内容 | 从path中获取目录名称 |
os.path.basename(path) | 返回path中最后一个\后的内容 | 从path中获取文件名称 |
os.path.split(path) | 同时获取目录名称和基本名称 | |
os.path.getsize(path) | 查看文件大小字节数 | |
os.listdir(path) | 返回path目录下文件名列表 | |
os.path.exists(path) | 检查文件/文件夹是否存在 | 返回True或False |
os.path.isfile(path) | 检查path存在且是文件 | 返回True或False |
os.path.isdir(path) | 检查path存在且是文件夹 | 返回Ture或False |
3、循环获取目录下的每个文件名
1 import os 2 for filename in os.listdir('C:\\Windows\\System32'): 3 print(filename)
4、判断文件若已存在则删除
import os if os.path.exists('tdFile.txt'): os.remove('tdFile.txt')
5、计算目录下文件总大小
1 import os 2 totalSize = 0 3 for filename in os.listdir('C:\\Windows\\System32'): 4 totalSize = totalSize + os.path.getsize(os.path.join('C:\\Windows\\System32',filename)) 5 print(totalSize)
6、文件读写3个步骤
- 调用open()函数返回File对象
- 调用File对象的read()或write()方法
- 调用File对象的close()方法关闭文件
函数/方法 | 说明 | 举例 |
open() | 函数,打开文件返回File对象 参数1为文件,可带路径 参数2为打开模式;w表示覆盖写入,a表示文本添加 若文件不存在,写/添加模式会创建新的空文件 |
HelloFile = open('C:\\users\\folder\\hello.txt',w) |
read() | File对象read()方法,读取整个文件为一个大字符串 | HelloContent = HelloFile.read() |
readlines() | File对象readlines()方法,将文本中每一行形成一个字符串列表; 每个字符串以"\n"结束(最后一行除外); |
HelloFile.readlines() |
write() | File对象write()方法,将字符串写入文件,会返回写入的字符个数 首先需要文件以写/添加模式打开 另write()不会像print()函数在字符串末尾自动添加换行字符 |
HelloFile.write('Hello world!\n') |
close() | File对象close()方法 |
HelloFile.close() |
7、用shelve模块保存变量
- 将程序中的变量保存到二进制的shelf文件中
函数/方法 | 说明 | 举例 |
import shelve | 导入shelve模块 | |
shelve.open() | 函数,打开二进制文件 不需要指定打开模式,既能读又能写 |
shelfFile = shelve.open('mydata') |
保存变量,类似字典,将值赋给指定的键 | cats = ['Zophie','Pooka','Simon'] shelfFile['cats'] = cats |
|
读取变量,类似字典,传入键名获取对应值 | shelfFile['cats'] | |
close() | 关闭文件方法 | shelfFile.close() |
keys()/values() | 方法,类似字典 | shelfFile.keys() |