文件与文件系统:
open(file,mode=‘r’,buffering=None,encoding=None,errors=None,newline=None,closefd=True):打开文件。
- file:必需,文件路径
- mode: 可选,文件打开模式。
- buffering:设置缓冲。
- encoding:一般使用utf8
- errors:报错级别
- 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)
心得:
坚持一件事确实很难。在坚持打卡的过程中,我学到了许多之前不了解的知识,当然也确实很累,但当我在以后又看见我写的这些学习笔记时应该会很欣慰吧。很感谢这次活动。 ^ _ ^