python入门day2

文件处理模块:

#文件读写基本使用
#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)#图片的二字流
View Code
 

•  图片与视频读写操作模块:

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)
View Code

  函数模块:

#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()
View Code

课后作业:

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()
View Code
 
 

今日总结:

      主要学习了数据类型剩余内置方法,基本了解了字符编码以及文件处理,和函数基础。在老师的帮助下解决了很多实际操作

过程遇到的问题,收获了很多。要学习的东西还有很多,继续加油!

猜你喜欢

转载自www.cnblogs.com/yt2223/p/11012079.html
今日推荐