本文记录了文件操作的一些常规用法,以及对对应用法所表达含义的浅显认知,当前尚不涉及二进制的操作。后期一旦发现有错误或者习得新内容,会及时更新。
import os
'''
文件读写相关操作
'''
# 绝对路径与相对路径
f1 = open('C:/Users/24193/PycharmProjects/untitled/a', 'r') # 绝对路径模式打开,r表示只读模式
f2 = open('./a', 'r') # 相对路径模式打开
# 读写模式: r w a r+ w+ a+ b+ (本例当前不涉及二进制的读写,以后补充更新)
filePath = 'C:/Users/24193/Desktop/x.txt' # 我的文件路径
rFile = open(filePath, 'r') # 只读,若文件不存在会报错
print(rFile.read()) # 若加参数表示一次读取的字节数,不加则默认全读
wFile = open(filePath, 'w') # 只覆盖写,若存在则覆盖(先清空原文件再覆盖),若不存在则创建
wFile.write('新内容会覆盖原内容')
aFile = open(filePath, 'a') # 只追加写,若存在,光标放在尾部开始追加,若不存在则创建
aFile.write('从文件最后开始写')
RFile = open(filePath, 'r+') # 可读可写,光标在头部.从第一个数据开始覆盖,该方式很不友好
RFile.write('从首字符开始覆盖着写')
print(RFile.read()) # 写完之后,此时光标位于写完的字符后面,从该光标处往后读
WFile = open(filePath, 'w+') # 可读可写,若存在就覆盖,不存在则新建
WFile.write('整个文件覆盖着写') # 写完后此时光标位于文件末尾
print(WFile.read()) # 上面写完之后,因光标位于整个文件的末尾处,后面读不到内容
AFile = open(filePath, 'a+') # 可读可写,若存在,光标置于末尾,不存在则新建
AFile.write('向后追加') # 写完后此时光标位于文件末尾
print(AFile.read()) # 上面写完之后,因光标位于整个文件的末尾处,后面读不到内容
'''
read() / readline() / readlines() 三个函数不要同时使用
'''
print(rFile.read()) # 返回所有数据
print(rFile.readline()) # 返回一行数据
print(rFile.readlines()) # 返回所有行数据并保存在列表中,每行内容为一个元素
'''
文件 / 文件夹相关操作
'''
dirPath = 'C:/Users/24193/Desktop/'
os.remove(dirPath + 'delFile.txt') # 删除文件,假设delFile.txt存在
os.mkdir(dirPath + 'makeDir') # 创建文件夹
os.rmdir(dirPath + 'makeDir') # 删除文件夹
os.rename(dirPath + 'oldName.txt', dirPath + 'newName.txt') # 更换文件名,该文件名包含路径,假设oldName.txt存在
print(os.getcwdb()) # 获取当前文件夹路径. 注意:获取到的路径为: b'C:\\Users\\24193\\PycharmProjects\\untitled'(我电脑中的路径)
os.chdir(dirPath) # 将当前文件夹路径切换到dirPath,该文件夹必须是已有的,否则报错
print(os.listdir(dirPath)) # 获取文件夹中的所有文件名,返回值是列表,若无参数默认为当前文件夹
'''
创建文件夹时的注意事项:
1、反斜杠问题. 记得替换成斜杠 '/'
2、文件夹路径与文件名之间的'/'不要忘了
'''
open((os.getcwd().replace('\\', '/') + '/' + 'newFile.txt'), 'w') # 在当前路径下新建文件
后续会更新带二进制的操作...
共勉.