1.文件的读取和操作
文件操作的三种情况:打开文件,操作文件(读写),关闭文件
在python语言中,默认open()是打开文件且是只读模式
操作步骤:
1)查看文件是否存在;
2)如果不存在,先创建文件;
3)如果存在,且是w模式时,操作前,会把原先的内容情况,然后再写进去新的内容
(1)w(只写)的模式每次操作前,会清空文件里面的内容,然后把新的内容写进去
f=open('log.txt','w') f.write('hello world') f.close()
在原先的log.txt文件中的内容如下图所示:
w模式的输出结果:
(2)a的模式是追加模式,就是在之前文件内容的基础上增加新的文件内容
f=open('log.txt','a',encoding='utf-8') f.write(' go语言') f.close()
输出结果:
(3)r(只读),来读取文件里面的内容
1)读取文件的所有内容
'''读取文件的前提是文件必须存在''' f=open('log.txt','r',encoding='utf-8') print('读取文件的所有内容:',f.read()) f.close()
输出结果:
2)读取文件的第一行
原先的log.txt如下:
'''读取文件的前提是文件必须存在''' f=open('log.txt','r',encoding='utf-8') # print('读取文件的第一行:',f.readline()) f.close()
r模式的输出结果:
3)按行读取文件的所有内容
没有strip()之前的输出结果,行与行之间有空格:
所以加上strip()是为了取消掉空格
'''读取文件的前提是文件必须存在''' f=open('log.txt','r',encoding='utf-8') '''按行读取文件的所有内容,strip()取消掉空格''' for item in f.readlines(): print(item.strip()) f.close()
输出结果:
(4)with上下文,内部会进行文件的关闭处理(a、r、w三种情况的操作一样)
注意:open()文件一定要进行close()操作,但是很多时候我们会忘记,此时就可以用with上下文来解决这种情况
with open('../IO操作/log.txt', 'r', encoding='utf-8') as f: print(f.read())
输出结果:
2.python常用库
(1)sys实战
import os import sys '''提示first模块不存在,找不到错误的解决方案''' base_dir=os.path.dirname(os.path.dirname(__file__)) #将zero这层目录级别添加到路径搜索中 sys.path.append(os.path.join(base_dir,'zero')) for item in sys.path: print(item) #进行了如上操作后,导包的时候就不用加上zero这层目录级别 from first import login login()
输出结果:
(2)hashlib实战(涉及到md5加密算法)
from urllib import parse import hashlib import time '''开放接口(open api)''' def sigh(): #第一步:进行ascll码的排序,加了时间time使得后面md5加密的内容变成动态的显示形式 dict={'name':'liuxun','age':20,'address':'xian','time':time.time()} data=sorted(dict.items(),key=lambda item:item[0]) #第二步:进行urlencode的处理成key1=value1&key2=value2 data1=parse.urlencode(data) #第三步:进行md5的加密 m=hashlib.md5() m.update(data1.encode('utf-8')) print(m.hexdigest()) sigh()