文件与文件系统: open(file,mode=‘r’,buffering=None,encoding=None,errors=None,newline=None,closefd=True):打开文件。
file:必需,文件路径mode: 可选,文件打开模式。buffering:设置缓冲。encoding:一般使用utf8errors:报错级别newline:区分换行符。‘r’ 以只读方式打开文件 ‘w’ 写入 原有内容会被删除 文件不存在 创建一个新文件。 ‘x’ 写模式 新建一个文件 ‘a’ 追加模式 打开一个文件用于追加 文件不存在 创建新文件进行写入。 ‘b’ 以二进制模式打开文件 ‘t’ 以文本模式打开(默认) ‘+’ 可读写模式
打开文件时 如果该文件无法被打开,会抛出OSError f.close()用于关闭一个已打开的文件 如果已关闭会抛出ValueError f.read([size])用于从文件读取指定的字符数。(未给定或负则为读取所有) f.readline()读取整行,包括末尾的“\n” f.readlines()用于读取所有行并返回列表。 f.tell()返回文件的当前位置。 f.seek()用于移动文件读取到指定位置。 f.write(str)用于向文件中写入指定字符串 f.writelines()向文件写入一个序列字符串列表。
关键词with语句保证文件之类的对象在使用完后一定会执行他的清理方法。 os模块:
os.getcwd()返回当前工作目录os.chdir(path)用于改变当前工作目录到指定的路径listdir(path=".")返回path指定的文件夹包含的文件或文件夹的名字的列表。os.mkdir(path)创建单层目录。os.makedirs(path)用于递归创建多层目录os.remove()用于删除指定路径的文件os.rmdir(path)用于删除单层目录 仅当文件夹为空时才可以 否则会报错。os.removedirs()递归删除目录 目录不能为空。os.rename()命名文件或目录os.system(command)运行系统的shell命令。序列化与反序列化: pickle.dump(obj,file,[,protocol])将obj对象序列化存入已经打开的file中。 obj 想要序列化的obj对象 file 文件名称、 protocol 序列化使用的协议。 练习题: 1. 需要指定utf-8编码 2.
file=input() def longest_word(filename): with open(filename) as file: content=file.read() content1=content.split(" ") x=0 for i in content1: a=len(i) if a>x: list1=[] x=a list1.append(i) elif a==x: list1.append(i) print(list1) longest_word(file)心得: 坚持一件事确实很难。在坚持打卡的过程中,我学到了许多之前不了解的知识,当然也确实很累,但当我在以后又看见我写的这些学习笔记时应该会很欣慰吧。很感谢这次活动。 ^ _ ^
