首页 > 编程语言 >进入python的世界_day9_python基础——文件操作

进入python的世界_day9_python基础——文件操作

时间:2022-10-08 22:02:41浏览次数:64  
标签:文件 读取 day9 python 读写 路径 print open

一、文件操作

1.什么是文件?

​ 文件其实是操作系统暴露给用户操作硬盘的快捷方式(接口)

2.代码如何操作文件

​ 关键字open('')
​ 三步走:
​ 1.利用关键字open打开文件 >>> 如 open('a.txt')

​ 2.利用其它方法操作文件

​ 3.关闭文件 (.close() # 关闭文件资源)

​ 文件路径
​ 相对路径与绝对路径

​ 为了避免路径中出现了字母与斜杠的组合产生特殊含义影响软件对路径判断
​ 推荐!强烈推荐!>>>> 在路径字符串前面加一个r
​ 如:r'D:\python\day09\a.txt'

​ with的使用>>>强烈推荐

​ 通过使用with能够自动帮你close()

​ 如:with open(r'a.txt','r',encoding='utf8') as tt: # tt=open()并且 tt.close()

​ with可以连续打开,with open(r'a.txt','r',encoding='utf8') as f1,open()

二、文件读写模式

  1. r :只读模式

    ​ 能看不能改,路径(文件)不存在直接报错

​ 路径存在就读取文件内的所有内容

  1. w :只写模式

    ​ 只能写不能看,相当于瞎子,路径不存在会自动创建

​ 路径存在会清空文件内容然后再写入新内容

​ 注意:要换行自行加\n,并且一定要留意这个\n是否存在不要忽视

  1. a :只追加模式

    ​ 尾部追加 ,路径不存在自动创建

​ 路径存在不会情况文件,在尾部追加

追加:pass 的用法,换行直接加

​ 只为了补全语法结构 没有实际含义,为了防止报错

​ 小总结:

​ 我们所学习的r w a读写模式都只能操作文本文件

拓展:
"+" 表示可以同时读写某个文件

r+, 读写【可读,可写】
w+,写读【可读,可写】
x+ ,写读【可读,可写】
a+, 写读【可读,可写】

三、文件操作模式

  1. t >>>文本模式

     我们上述学的r w a 全称就是 rt、wt、at
    
    • 该模式只能操作文本文件,视频或者音频之类的文件没法搞
    • 读写以字符为单位
    • 一定要指定用encoding参数,不然计算机会默认用操作系统的编码
  2. bytes >>>二进制模式

    ​ 默认为文本模式,如果要以二进制模式打开,自己写的时候指定 rb、wb、ab

    • 任意文件类型都可以用(计算机本质就是01嘛)
    • 读写以字节为单位
    • 无需指定encoding参数

四、文件操作方法

  1. 读系列

    ​ print(f.read()) >>>一次性读取文件所有的内容,光标会停留在末尾,后续没法继续读取

    ​ print(f.readline()) >>>每次只读文件一行内容

    ​ print(f.readlines()) >>>读取文件所有的内容 组织成列表 每个元素是文件的每行内容

    ​ print(f.readable()) >>>判断当前文件是否具备读的能力

  2. 写系列

    ​ f.write('天气真好啊!') >>>往文件内写入文本内容

    ​ (注意!必须是字符串!数字会报错)

    write() argument must be str, not int

    ​ f.writelines(['name','age','hobby']) >>> 可以将列表中多个字符串元素全部写入

    ​ print(f.writable()) >>>判断能不能读,同理还有print(f.readable())

    ​ print(f.flush()) >>>直接将内存内文件数据刷到硬盘 相当于ctrl+s

    • 其他:for循环

      ​ for line in f:相当于一行行读取文件内容

      ​ 涉及到多行文件内容的情况一般都是采用for循环读取

五、文件内光标的移动(更好的读写)

  1. seek 用来控制光标

    seek(offset[,whence]):
    offset--偏移量,可以是负值,代表从后向前移动;
    whence--偏移相对位置

    ​ 相对文件起始位置>>>用“0”表示

    ​ 相对文件当前位置>>>用“1”表示

    ​ 相对文件结尾位置>>>用“2”表示。

    seek(x,0):表示指针从开头位置移动到x位置
    seek(x,1):表示指针从当前位置向后移动x个位置
    seek(-x,2):表示指针从文件结尾向前移动x个位置
    例:file.seek(-1,2),文件指针从文件末尾向前移动一个字符,配合read相关方法/函数可读取该字符。

六、作业

1.编写简易版本的拷贝工具
自己输入想要拷贝的数据路径 自己输入拷贝到哪个地方的目标路径
任何类型数据皆可拷贝
ps:个别电脑C盘文件由于权限问题可能无法拷贝 换其他盘尝试即可

2.利用文件充当数据库编写用户登录、注册功能
文件名称:userinfo.txt
基础要求:
用户注册功能>>>:文件内添加用户数据(用户名、密码等)
用户登录功能>>>:读取文件内用户数据做校验
ps:上述功能只需要实现一次就算过关(单用户) 文件内始终就一个用户信息
拔高要求:
用户可以连续注册
用户可以多账号切换登录(多用户) 文件内有多个用户信息
ps:思考多用户数据情况下如何组织文件内数据结构较为简单
提示:本质其实就是昨天作业的第二道题 只不过数据库由数据类型变成文件

标签:文件,读取,day9,python,读写,路径,print,open
From: https://www.cnblogs.com/wznn125ml/p/16770400.html

相关文章

  • 基于python的基于Django工厂设备管理系统设计与实现-计算机毕业设计源码+LW文档
    caigoushenqing表注释:采购申请字段类型空默认注释id (主键)bigint(20)否主键addtimetimestamp否CURRENT_TIMESTAMP创建时间shebeimingchengvarchar(200)否设备名称shebeil......
  • 文件操作
    目录文件操作文件的概念打开文件的两种方式补充文件读写模式r模式w模式a模式w模式和a模式异同文件操作模式t模式b模式b模式对比t模式文件的诸多操作方法文件内光标的移动......
  • 文件的操作方式以及读写模式
    1.文件的概念2.文件的操作方式3.文件的读写模式4.文件操作模式5.文件诸多方法6.文件内容修改7.文件光标移动###文件操作```python1.文件的概念文......
  • 肖sir__python中获取token方法
    一、从响应头中获取token1、从登录接口的响应头中获取token值,存储在变量token中,方便后续接口请求的时候使用二、从响应体中获取token(1)token存在于单层字典数据中(2)token......
  • python re 替换
    把字符串里的\r\n去掉。用下面这句替换实现。'\r\n','',prefix_name)print另外string本身也有replace这个函数可以实现相同的功能printprefix_namepref......
  • Python join()
    当你要等到线程结束时候,才需要调用join()join()也可以等待那些,设置了daemon的线程。创建线程的3个方法1,threading.Thread(fun,args)2,创建一个由​​​__call__​......
  • Python 守护线程
    如果你设置一个线程为守护线程,,就表示你在说这个线程是不重要的,在进程退出的时候,不用等待这个线程退出。如果你的主线程在退出的时候,不用等待那些子线程完成,那就设置这些线......
  • Python str unicode转换
    #!coding=utf8t="你好"printtype(t)printtt2=unicode(t,"utf8")printtype(t2)print......
  • Python 函数装饰器
    fromtimeimportctime,sleepdeftsfunc(func):defwrappedFunc(a):print'[%s]%s()called,a=%s'%(ctime(),func.__name__,a)returnfunc()......
  • Python核心编程
    Python内存管理对象自己有引用计数,计变量的数。引用计数增加,引用计数减少。del垃圾回收。obj==eval(repr(obj))内置函数cmp调用类的​​__cmp__​​方法类型的......