什么是文件

文件是操作系统提供的虚拟的单位,有了文件我们可以读取数据,没有文件的话应该去硬盘上扣动机械手臂然后寻找数据.

如何使用文件

  1. 打开文件()

  2. 读写数据

  3. 保存

  4. 关闭文件

f = open(r'C:\Users\nickc\Desktop\test.txt',encoding='gbk') # 相当于你打开的文件

print(f.read()) # 一次性读取所有的内容

print(1,f.read())

readline读取一行,如果读完了所有数据,继续读取为空

f = open(r'C:\Users\nickc\Desktop\test.txt',encoding='gbk') # 相当于你打开的文件

print(f.read()) # 一次性读取所有的内容

print(1,f.read())

del f # 只删除了变量名,但是文件对于操作系统来讲,还是打开状态的

fr = open(r'C:\Users\nickc\Desktop\test.txt',encoding='gbk') # 相当于你打开的文件

print(fr.read()) # 一次性读取所有的内容

fr.close() # 不仅删除了变量名f,并且也关闭了文件,这个时候文件对于操作系统来讲是关闭状态的

fw = open(r'C:\Users\nickc\Desktop\test.txt',mode='w',encoding='gbk') # 相当于你打开的文件

print(fw.write('nick 很衰')) # 写入内容, 清空文件后写入

fw.close() # 不仅删除了变量名f,并且也关闭了文件,这个时候文件对于操作系统来讲是关闭状态的

fw = o 不仅删除了变量名f,并且也关闭了文件,这个时候文件对于操作系统来讲是关闭状态的pen(r'D:\Python视频\Python9期视频 \day09\test.txt',mode='w',encoding='utf8') # 相当于你打开的文件

fw.write('nick 很帅1111111') # 写入内容, 清空文件后写入

fw.flush() # 快速刷入硬盘

fw.close() #

绝对路径和相对路径

绝对路径:从根目录开始,一直到你需要的文件路径

相对路径:从当前文件夹开始,到你需要的文件路径,只需要输入文件路径,要打开的文件必须和运行的py文件必须得在一个文件夹下

文件的三种打开方式

mode='r',只读fr = open('test.txt',mode='r',encoding='utf8')  # 默认r=rtdata = fr.read()print(data)​mode ='w',只写,清空文件在写入​fr = open('test.txt',mode='r',encoding='utf8')  # 默认r=rtdata = fr.read()print(data)​mode = 'a',追加,在后面追加写入文件​fr = open('test.txt',mode='a',encoding='utf8')  # 默认r=rtdata = fr.write('nick 全裸写真集')print(data)​​mode= 'rt'  # 打开的text文本类型 # nick 很帅(utf8) --> utf8 nick 很帅fr = open('test.txt', mode='rt', encoding='gbk')  # 默认r=rttext_data = fr.read()print(text_data)​mode = 'rb'  # 打开的bytes类型,二进制 # 010101010110010fr = open(r'D:\Python视频\Python9期视频\day 09\test.txt', mode='rb')  # 默认r=rtprint(fr)bytes_data = fr.read()print(bytes_data)​# r,r告诉接下来的字符串,里面所有的特殊字符都变得无意义print('1\\t2')print('1\t2')print(r'1\n\t2')  # '1\\n\\t2'​# b表示,你写的字符串为二进制,在打印的时候不需要使用终端的编码处理,直接打印原生的二进制即可print(b'\xe5\xbe\x88\xe8\xa1\xb0')​​​t和b不能单独使用,必须得和r/w/a一起使用r/w/a能单独使用​​​
# fr = open('test.txt','r',encoding='utf8')# data = fr.read()# print(data)# fr.close()​​# with open(文件路径,打开模式(rt/wt/at/rb/wb/ab),编码格式) as 变量名:    # 变量名.read/writewith open('test.txt','r',encoding='utf8') as fr:    data = fr.read()    print(data)​name = 'nick'print(name)​
# r只读/w只写/a追加,可读可写(不推荐使用)r+,w+,a+# with open('test.txt','r',encoding='utf8') as fr:#     print(fr.readable())#     print(fr.writable())#     data = fr.readline()#     print(data)### with open('test.txt', 'w', encoding='utf8') as fw:#     print(fw.readable())#     print(fw.writable())#     fw.write('nick handsome245234234')#     fw.flush()​​​# with open('test.txt','r+',encoding='utf8') as fr:#     print(fr.readable())#     print(fr.writable())#     data = fr.readline()#     fr.write('nick handsome245234234')#     fr.flush()​# 指针(不要使用指针)with open('test.txt','rt+',encoding='utf8') as fa:    # 3个字节,    # fa.readline()    fa.seek(5, 0)  # 字节算的    # fa.seek(3, 1)    print(fa.tell())  # 告诉你光标当前的位置    print(fa.read(3))  # 光标后的字符个数,一个中文1个字符,3个字节;一个英文一个字符,一个字节    fa.truncate(3) # 如果它有参数,则光标会跳到指定字节数后,然后把后面的文件全部清空    fa.flush()
# 文件不能插入,但是有需求要修改文件,插入.# with open('test.txt', 'r', encoding='utf8') as fr:#     data = fr.read()#     data = data.replace('sb', '帅逼')#     print(data)## with open('test_swap.txt', 'w', encoding='utf8') as fw:#     fw.write(data)## import os## os.remove('test.txt')# os.rename('test_swap.txt', 'test.txt')​​'''​qq想修改这个程序,微信也想修改这个程序,两者都已经读取文件成功,都拿到了`tank dsb`​qq想修改`tank dsb`中的`s`为`a`,微信想把`s`修改成`b`,这两个修改一定有先后顺序,假设qq先修改,那么`s`已经变成了`a`,但是微信找的到`s`吗?,找不到了,报错.​qq想修改`tank dsb`中的`s`为`a`,微信想把`s`修改成`b`,所以我给qq一份拷贝文件,我给微信一份拷贝文件,然后让他们各自修改,修改成功后,删除原文件,修改替换后的文件名为原文件'''​# with open('test.txt', 'r', encoding='utf8') as fr, \#         open('test_swap.txt', 'w', encoding='utf8') as fw:#     data = fr.read()#     data = data.replace('sb', '帅逼')#     fw.write(data)#     print(data)## import os## os.remove('test.txt')# os.rename('test_swap.txt', 'test.txt')​​# with open('test.txt', 'r', encoding='utf8') as fr, \#         open('test_swap.txt', 'w', encoding='utf8') as fw:#     data = fr.read()#     data = data.replace('sb', '帅逼')#     fw.write(data)#     print(data)## import os## os.remove('test.txt')# os.rename('test_swap.txt', 'test.txt')​# with open('test.txt', 'r',encoding='utf8') as fr:# # #     # print(fr.readlines())# # ## # #     # for i in fr.readlines():# # #     #     print(i)# # #     print('*'*50)# # #     for i in fr:   # 这样获取更省内存# # #         print(i)# # #     print(fr)​# 减少了内存的占用with open('test.txt', 'r', encoding='utf8') as fr, \        open('test_swap.txt', 'w', encoding='utf8') as fw:  # w在清空文件,而不是write清空文件    '''   tank dsb​   tank dsb​   tank dsb​   tank dsb   '''    for i in fr:        i = i.replace('sb', '帅逼')        fw.write(i)​import os​os.remove('test.txt')os.rename('test_swap.txt', 'test.txt')​​​​# 文件只需要记住​# 1. with open(filename,mode,encoding) as file:#         file+操作​# 2. rt/rb/wt/at​# 3. 文件的复制

转载于:https://www.cnblogs.com/zrx19960128/p/10939952.html

文件,文件的打开,拷贝,写入相关推荐

  1. 网络编程(part2)--文件读写之打开/读取/写入

    鄙人学习笔记 文章目录 文件读写 打开文件 举个例子1(以读方式打开) 举个例子2(以写方式打开) 读取文件 read 举个例子1 readline 举个例子2(继续用例子1的note.txt文件) ...

  2. python创建空文本文件_Python干货:「文件处理整合」 创建、打开、写入和删除...

    什么是Python文件处理? Python文件处理就是如何在python中创建.打开.读取.写入和删除文件的示例.从文件(EXCELSheet.doc文件.文本文件.cv等)或Add中读取数据.是一个 ...

  3. 用MATLAB将矩阵数据写入txt文件中,打开乱码原因

    MATLAB将数据写入txt文件中乱码的原因,是将数据按照二进制文件写入txt文件,所以打开会出现乱码的情况,只需要把 fid1=fopen('piture.txt','w'); 换成,就可以了 fi ...

  4. Python文件(一):文件类型、文件的打开,读取写入,关闭、文件备份、文件和文件夹的操作

    一.文件 文件是存储在存储器上的一组数据序列,可以包含任何数据内容. 文件是数据的抽象和集合. 二.文件类型 文本文件:长字符串 二进制是信息按照非字符但有特定格式形成的文件,文件内部数据的组织格式与 ...

  5. python为运行为何出现乱码_我的python写入文件正常,打开后却是乱码格式为什么?...

    windows7 +2.7.5 我的源代码: #!/usr/bin/env python # -*- coding: utf-8 -*- file = open(r"D:\Android\p ...

  6. 【解决】敬业签Windows电脑桌面便签软件安装不能打开要写入的文件问题造成桌面便签软件安装失败的解决办法

    部分Windows电脑用户下载安装敬业签Windows电脑桌面便签软件时,在安装过程中遇到[敬业签 安装 不能打开要写入的文件]问题而造成无法安装敬业签桌面便签软件,这是因为电脑对安装文件夹的写入权限 ...

  7. python打开文件写入内容_python-11 文件的打开和写入

    # 11 章 # 11.1 打开文件 open # f = open('somefile.txt', 'r+') # print(f.read()) # print(f.write('564')) # ...

  8. MATHTYPE安装出现问题:无法打开要写入的文件;MathType打开word时“安全警告,宏已被禁用”;mathtype与AXmath不能同时使用

    MATHTYPE在win11中安装出现的问题 Mathtype无法打开要写入的文件 MathType打开word时显示"安全警告,宏已被禁用"解决办法 与AXmath不能同时使用 ...

  9. Python 文件打开读取写入方法

    目录 前言 open()方法 with open()方法 实用案例 前言 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写 ...

  10. [error]:无法打开要写入的文件 XXX。您可能没有写入权限。

    Matlab 错误使用 imwrite (line 454) 无法打开要写入的文件 "01.bmp".您可能没有写入权限. 可能性1:可能是路径的文件名中有中文,将路径名中的中文部 ...

最新文章

  1. 如何优化页面的响应速度 以及如何减少项目初次加载时间(转https://www.cnblogs.com/MarcoHan/p/5295398.html)...
  2. 【操作系统】—处理机调度的概念以及层次
  3. 如何在矩池云上安装java
  4. python网络编程难点_python网络编程
  5. Spring解析@ComponentScan注解的执行流程
  6. CH340安卓驱动使用教程
  7. cpu 关闭nx_AMD夺取武林盟主宝座(2020年1月CPU天梯图)
  8. 自动生成注释作者名字和日期等信息(IDEA Java类)
  9. 第五章 事务控制语言(Transaction Control Language,TCL)
  10. 【LeedCode每周总结】还在犹豫怎么刷LeedCode有没有用?快来加入每日刷题卷进大厂吧,冲冲冲
  11. CPU/GPU/GPGPU简介
  12. 基于QT平台调试rtklib教程
  13. Java实现简易聊天室以及Scoket编程入门
  14. 【c语言】组件化打包—静态库lib
  15. 循环神经网络(RNN)简单介绍及实现(基于表面肌电信号)
  16. 关于 CLAHE 的理解及实现
  17. HISAT2-StringTie-Ballgown有参转录组数据分析
  18. 社区团购系统介绍 社区团购小程序分析
  19. 【图像配准】基于Horn-Schunck和Lucas-Kanade等光流场实现图像配准matlab源码含GUI界面
  20. Emmet for Dreamweaver:HTML/CSS代码快速编写神器

热门文章

  1. 【转】matlab函数_连通区域
  2. 静态成员函数不能采用const修饰的原因
  3. 毕业论文查重心得体会—吐血奉献
  4. ylbtech-LanguageSamples-Generics(泛型)
  5. 转 从头到尾彻底解析Hash表算法
  6. SQL Server 学习系列之五
  7. 吸墨网iPhone手机客户端界面设计
  8. 计算机网络——OSI与TCPIP体系架构、功能及协议
  9. mysql子查询批量找id最大的
  10. 使用jQuery-UI来实现一个Ajax的自动完成功能(自动填充搜索框的下拉值)