首页 > 编程语言 >Python——8days

Python——8days

时间:2023-09-04 17:01:05浏览次数:31  
标签:文件 读取 Python 模式 8days print txt open

文件的基本操作
文件的读写模式(只读,只写,只追写)
文件读写操作相关的办法
读取文件的优化操作(重要)
单用户注册,单用户登录
多用户注册,多用户登录
文件的操作模式(文本,二进制我们能够操作哪些类型的文件:

.txt 没有后缀名的文件
我们不能操作 word excel ppt 等文件 暂时不能够操作 
numpy pandas 等模块可以操作
2.如何操作文件
三步法:
1.打开文件 (open) 2.读或者写   3.关闭文件
open(要操作的文件路径 读写模式 字符编码)
文件路径:
 相对路径, 绝对路径
例如 D:\Python27\day10\a.txt
当路径中出现了字母和斜杠的组合会产生一些特殊的含义,所以我们应该给去掉
           r]Python27\day10\\a.txt
f= open( r'D:\Python27\day10\a.txt', 'r', encoding ='utf-8' )
#  \n \t          #返回的是文件句柄
2.读取文件
helloworld
print(f.read())  类似文件的内置方法
3.关闭文件
f.close()
第二种方式来操作文件
with上下文管理器打开文件
as:起别名
它的特点就在于能够自动关闭文件
with open('a.txt','r',encoding='utf-8') as f: 
f= open('a.txt','r',encouding='utf-8')f.close()
print(fread())

文件的读写模式:
语法格式:
              open(文件路径,读写模式,字符编码)
            文件路径:是必须写的
             读写模式:也是必须写的
           字符编码  可写 可不写
读写模式:
r(只读:只能读不能写)
w(只写:只能写不能读)
a(append:在原来的基础之上再添加新的内容)
1.只读模式
1.读模式
当文件路径不存在的时候吗,会直接保存

 

 追加模式:

 读写操作相关的办法
1.读系列

读系列
with open('a.txt', 'r', encoding='utf-8') as f:
 print(f.read()) # read方法是一次性读取文件中得所有数据
 print(f.readline()) # helloworld1
 print(f.readline()) # readline一次只读文件的一行内容
 print(f.readlines()) # 一次性读取文件的所有内容,然后每一个内容作为列表的一个元素返回,返回的数据类型是:列表
print(f.readable()) # able ation un multi ...
2. 写系列
写系列
 做后端程序员:最重要的是安全意识
with open('a.txt', 'w', encoding='utf-8') as f:
 f.write('jerry say hello ')
 f.writelines(['hello\n', 'jerry\n', 'kevin\n', 'jason\n'])
print(f.writable())
print(f.readable())

文件的读操作优化

with open('a.txt', 'r', encoding='utf-8') as f:
 print(f.read()) # 一次性读取文件的所有数据,并且光标在文件的末尾,如果在去读,就读不到了
 print(f.read())
 文件句柄f是支持for循环的
for line in f:
# line: 就是文件的一行内容
print(line)
 了解的方法:
 f.flush() # 把数据从内存中立刻刷到磁盘
当你读取的数据比较小的时候,其实是在缓冲区的,当数据量够多的时候,它会一定刷到磁盘

一次性读取文件的所有数据有什么问题:
当数据比较多的时候,会出现内存溢出,这种情况是坚决不能出现的
如何优化以上操作:
一点一点的读取数据然后把数据赶紧刷到硬盘里

 

 

多用户的注册功能和多用户数据情况下的登录功能
多用户的注册:
    1. 可以在程序不结束的情况下注册多个用户
    2. 需要验证用户名不能重复
    3. 注册的多用户的用户名和密码如何存储?
        # 放在一个文件中,只不过是换行存储

 多用户的登录功能

# 2. 读取文件的数据比较密码
with open('userinfo.txt', 'r', encoding='utf-8') as f:
# read readline
# 循环逐行读取用户名和密码
for line in f:
# line : jerry|123
real_username, real_password = line.split('|') # ['jerry', '123\n']
# print(real_username, real_password)
# 比较用户名和密码
if real_username == username and password == real_password.strip('\n'):
print('登录成功')
break
else:
print('用户名或者密码不正确')

整合代码

代码启动之后,给用户展示功能编号
1. 注册功能
2. 登录功能

 

 

 文件的操作模式:

1. 文本模式 
    t:text
    # r w a =====> rt wt at
    """
   
        with open('userinfo.txt', 'r', encoding='utf-8') as f:
        文本模式默认就是操作字符串,文本
        特征:
            1. encoding参数必须指定
            2. 读取的所有的数据都是以字符串为单位的
            3. t模式只能够读取文本或者字符模式
    """
2. 二进制模式
    b模式:binary
    with open('userinfo.txt', 'rb') as f:
    """
        b模式中得b不能省略------------> rb wb ab
        特征:
            1. encoding='utf-8'参数不能够指定
            2. 读取的数据全部以字节为单位
            3. 二进制模式可以读取任意类型的文件











标签:文件,读取,Python,模式,8days,print,txt,open
From: https://www.cnblogs.com/wzh366/p/17677554.html

相关文章

  • Centos安装部署Python-3.7
    部署1.下载wgethttps://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz 2.安装依赖,同时安装一下Centos安装部署opensslyuminstalllibffi-developenssl-devel-yyuminstallxz-devel-yyuminstallpython-backports-lzma-y 3.修改文件tar-xfPython-3......
  • 收藏学习!10个让你事半功倍的Python高级库
    对于初学者而言,Python是一门简单易懂、语法清晰、容易上手的编程语言,这也是很多人喜欢Python的原因之一。还有一部分原因,是因为Python拥有大量开箱即用的第三方库,这也是它与其他编程语言最与众不同的地方。本文为大家推荐10个让你事半功倍的Python高级库,建议收藏学习!1、Da......
  • range方法在Python2和Python3中的不同
    range()方法是Python中常用的方法,但是在Python2和Python3中使用方法不同,下面看下它们的不同使用方法。range方法详解range(start,stop[,step])range是python中的其中一个内置函数作用:可创建一个整数列表。一般用在for循环中。参数说明:start:起点,一般和stop搭配使用,既生成从star......
  • 【Python-装饰器】【示例】日志记录装饰器
    #一个简易的日志记录装饰器,用于记录函数执行信息deflog(func):defwrapper(*args,**kwargs):print(f"调用函数{func.__name__},参数:{args},{kwargs}")result=func(*args,**kwargs)print(f"函数{func}执行结果:{result}")retu......
  • Python爬虫——新手使用代理ip详细教程
    Python代理IP爬虫是一种可以让爬虫拥有更多网络访问权限的技术。代理IP的作用是可以为爬虫提供多个IP地址,从而加快其爬取数据的速度,同时也可以避免因为访问频率过高而被网站封禁的问题。本文将介绍如何使用Python实现代理IP的爬取和使用。一、代理IP的获取首先我们需要找到一个可用......
  • Python垃圾回收
    python垃圾回收目录python垃圾回收1.引用计数器1.1环状双向链表refchain1.2类型封装结构体1.3引用计数器1.4循环引用问题2.标记清除3.分代回收4.小结5.python缓存5.1池(int)5.2free_list(float/list/tuple/dict)基于c语言的源码底层,让你真正的了解垃圾回收机制。引用计数器......
  • Python中列表的概念
    在编程中,列表(List)是一种常用的数据结构,用于存储一组有序的元素。列表是Python中的内置数据类型之一,它允许你在一个变量中存储多个值,并且这些值可以是不同的数据类型,包括整数、浮点数、字符串、其他列表等。Python中的列表使用方括号[]来定义,其中的元素之间用逗号,分隔。以下......
  • 一口气用Python写了13个小游戏(附源码)
    今天给大家分享13个游戏源码,可以自己复现玩玩,研究下里面的编程逻辑,对学习编程(特别是初学者)应该会有很大帮助。1、吃金币源码分享:importosimportcfgimportsysimportpygameimportrandomfrommodulesimport*'''游戏初始化'''definitGame():#初始化pygame,设......
  • 分享一个Python字符串替换的基础题目(下篇)
    大家好,我是皮皮。一、前言上一篇文章,【瑜亮老师】和【凡人不烦人】引申了下字符串处理的题目,如下所示:扩展一下,下面的结果是什么:strs='abbacba'print(strs.lstrip('ab'))print(strs.rstrip('ab'))二、实现过程这里【FANG.J】还是有点东西的,全部都回答正确了。说明是完......
  • VSCode 配置python Django
    好吃vs占用的内存很少很轻量但是需要自己人肉配置核心两个点启动项目文件launch.json项目设置包括resthttpclientdjango.vscdoe新建launch.json{"version":"0.2.0","configurations":[{"name":"Python:Django&q......