• 文件处理模块:
#文件读写基本使用 #open #对文本进行操作 #open('文件的绝对路径(copy path)/文件的名字.txt',操作模式,指定字符编码) #f:称之为 句柄 # r:避免转义符 #打开文件会产生两种资源:1、python解释器和python文件的资源,程序结束python会自动回收 #2、一种操作系统打开文件的资源,文件打开后,操作系统不会帮我们回收,我们需要自己手动回收 # f = open('文件的名字.txt', mode='wt', encoding='utf-8') #在一个新的名为文件袋额名字的文件中写入,并且原有文件里面的内容不存在 # f.write('hello tank!') # f.close() #读文件 f = open(r'\C:\Users\yeting\PycharmProjects\untitled\02\文件的名字.txt','r',encoding='utf-8') #默认rt res = f.read() print(res) f.close() #文件追加 f = open(r'\C:\Users\yeting\PycharmProjects\untitled\02\文件的名字.txt','a', encoding='utf-8') #默认at f.write('hello,limengfan') #在原有的文件中加入新的内容 f.close() 文件处理只上下文管理:with with会自带close()功能,自动关闭 with open(r'li.txt', 'w',encoding='utf-8') as f: f.write('life is short,u need python') with open(r'li.txt', 'r',encoding='utf-8') as f: res = f.read() print(res) with open(r'li.txt', 'r', encoding='utf-8') as f: res = f.read() print(res) import requests res = requests.get('网址') print(res.content)#图片的二字流
• 图片与视频读写操作模块:
import requests res=requests.get("http://news.mydrivers.com/Img/20120301/2012030102215971.jpg") print(res.content) #写入图片 with open('风景.jpg','wb') as f: f.write(res.content) #读取图片 with open('风景.jpg','rb') as f: res=f.read() print(res) #文件拷贝 with open('风景.jpg','rb') as f,open('山水.jpg','wb') as w: res=f.read() w.write(res) #读写视频 with open('视频文件.mp4','rb')as f,open('视频文件—copy.mp4','wb') as w: res = f.read()#一次打开所有内容,若文件大小超出内存大小会导致内存溢出 print(res) w.write(res) #一行一行读文件 with open('tianyan_sys.mp4','rb')as f,open('tianyancopy.mp4','wb') as w: for line in f:#一行一行读取文件内容,一行一行写入文件中,避免内存溢出 w.write(line)
• 函数模块:
#1、什么是函数 #2、(如何使用函数) # 先定义,后调用 #3、函数的语法 #def :定义 # def 函数名(参数1、参数2、.....): # """ #注释 # 函数的声明 # """ # 函数体代码(逻辑代码) # return 返回值 # # def:(全程defind) 用来声明定义函数的关键字user # 函数名:看其名知其意 # ():括号,存放的是接受外界的参数 # 注释:用来说明函数的作用 # 函数体代码:逻辑代码 # return:返回值 #注册功能 #函数的定义阶段发生的事情 # 1、先打开python解释器 # 2、加载该python文件 # 3、python解释器只会检测语法,但只会检测python语法,不会执行函数体代码 #定义 def register(): while True: user = input('请输入用户名:').strip() pwd = input('请输入密码:').strip() re_pwd = input('请输入密码:').strip() #判断两次输入密码是否一致 if pwd == re_pwd: #格式化字符飞 # uer_info='用户名:%s,密码:%s'%(user,ped) # uer_info='用户名:{},密码:{}'.format(user,pwd) #字符串前写一个f相当于调用了format方法 user_info=f'用户名:{user},密码:{pwd}' with open (f'{user}.txt', 'w', encoding='utf-8') as f: f.write(user_info) break else: print('两次密码不一致请重新输入!') #调用函数 函数名() 即调用函数 #egister() def foo(): print('from foo!') bar() #print( #调用阶段,会执行foo函数体代码 foo()
• 课后作业:
def login(): i = 1 while i <= 3: user = input('请输入用户名:').strip() pwd = input('请输入密码:').strip() with open('yeting.txt', 'r', encoding='utf-8') as f: old_info = f.read().split(',') for index in range(len(old_info)): if old_info[index] == user: if old_info[index+1] == pwd: print("登录成功") i = 4 break else: print("用户名或密码错误") i += 1 break login()
• 今日总结:
主要学习了数据类型剩余内置方法,基本了解了字符编码以及文件处理,和函数基础。在老师的帮助下解决了很多实际操作
过程遇到的问题,收获了很多。要学习的东西还有很多,继续加油!
扫描二维码关注公众号,回复:
6437317 查看本文章