我的编程空间,编程开发者的网络收藏夹
学习永远不晚

day 8 - 1 文件操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

day 8 - 1 文件操作

文件操作

注意:

1. r+ 最为常用

2.encoding 的编码格式一定要与文件编码格式一致

读取 r  rb

#在本地创建 txt 格式的文件默认使用 gbk 格式
f = open('e:/py/file.txt',mode='r',encoding='gbk')
content = f.read()
print(content,type(content))
f.close()

# b 二进制模式 bytes
f= open('e:/py/file.txt',mode='rb')
content = f.read()
print(content,type(content))
f.close()

只写  w  wb

#只写  w
#我们写入的格式为 utf-8 那么当我们查看时也要使用 utf-8 格式
#没有该文件 w 会创建文件
f = open('e:/py/test.txt',mode='w',encoding='utf-8')
f.write('正在写入...')
f.close()


#存在该文件 会覆盖写入
#即只写的逻辑为 先清空文件在写入
f = open('e:/py/test.txt',mode='w',encoding='utf-8')
f.write('已写入.')
f.close()


#wb 写入
#默认写入 bytes 类型 需要使用 encode 转换为 str 类型
#写入与文件默认格式不同的类型 如:utf-8 会自动转换
f = open('e:/py/test.txt',mode='wb')
f.write('sfssg个人是的.'.encode('gbk'))
f.close()

追加  a  ab

#追加  a
#追加与文件默认格式不同的类型 如:utf-8 不会自动转换
#默认会自动追加在文件光标的位置(即有文字的最后一位上)
f = open('e:/py/test.txt',mode='a',encoding='gbk')
f.write('追加...')
f.close()


#ab 追加
#追加与文件默认格式不同的类型 如:utf-8 不会自动转换
f = open('e:/py/test.txt',mode='ab')
f.write('方式...'.encode('utf-8'))
f.close()

读写   r+  最常用

#读写时的文件必须和源文件编码一致
#读写的位置是在读完后的最有一个字符后面
#试想在 r+ 模式下 改变读写顺序
#会在文件开头写入 每写入一个字符便会替换一个字符
f = open('e:/py/test.txt',mode='r+',encoding='utf-8')
print(f.read())
f.write("...")
f.close()


#r+ 也存在 bytes 类型 r+b
#要与源文件编码一致
f = open('e:/py/test.txt',mode='r+b')
print(f.read())
f.write("你就能看".encode('gbk'))
f.close()

写读  w+ 不常用

#还是先清除 在添加  所以没什么用
#w+ 也存在 bytes 类型 w+b
f = open('e:/py/test.txt',mode='w+',encoding='utf-8')
f.write("...")
print(f.read())
f.close()

#w+ 与 seek 调节光标
#没什么用
f = open('e:/py/test.txt',mode='w+',encoding='utf-8')
f.write("...")
f.seek(0) #光标在 0 的位置
print(f.read()) #读出结果
f.close()

追加 a+

#与 a 的区别在于 a 只可以执行一个动作
#a+ 可以执行多步
#a+ 也存在 bytes 类型 a+b
f = open('e:/py/test.txt',mode='a+',encoding='gbk')
f.write('追加...')
print(f.read())  #这样仍然读不到内容 因为光标在最后
f.close()


# a+ 与 seek
f = open('e:/py/test.txt',mode='a+',encoding='gbk')
f.write('追加...')
f.seek(0)  #光标置于 0 的位置
print(f.read())
f.close()

修改文件

#把要修改的文件和修改好的部分写入到创建好的新文件中
#然后删除源文件
with open('e:/py/test.txt',encoding='gbk')as f,\
     open('e:/py/test-bak.txt',"w",encoding='utf-8')as f2:
    for i in f:
        if '发生' in i:
            i=i.replace("发生","产生")
        f2.write(i)  #写文件

import os
os.remove('e:/py/test.txt')  #删除源文件
os.rename('e:/py/test-bak.txt','e:/py/test.txt')  #重命名文件

功能详解

read 与 seek 

#按照字符读出  read 读出来的都是字符
#字符是能看到的最小单位
#要与源文件编码一致
f = open('e:/py/test.txt',mode='r+',encoding='gbk')
print(f.read(3))
f.close()


#read 结合 seek
#seek 是按照字节来读取的
f = open('e:/py/test.txt',mode='r+',encoding='gbk')
f.seek(4)  #gbk 每个汉字 2 个字节  utf-8 每个汉字 3 个字节
print(f.read())
f.close()

tell 获取光标位置

f = open('e:/py/test.txt',mode='r+',encoding='gbk')
f.seek(4)  #按照字节定义光标位置
print(f.tell())
f.close()

移动光标读取后三个字

f = open('d:/py/file.txt',mode='r+',encoding='utf-8')
f.readline()  #读取一行使光标移动到末尾
f.seek((f.tell())-9)  #先锁定光标位置 在进行移动
print(f.read())
f.close()

readable、readline、readlines 与 truncate

f = open('e:/py/test.txt',mode='r+',encoding='gbk')
#print(f.readable())      #是否可读  返回值:true false
#print(f.readline())      #每次读一行,即一行一行的读
#print(f.readlines())     #把每一行当做一个元素,添加到 list 中
f.truncate(2)             #对源文件截取一段数据用来更改,并覆盖源文件
f.close() 

 读取第二行内容

f = open('e:/py/test.txt',mode='r+',encoding='gbk')
f.readline()     
f.seek(f.tell())
print(f.readline())
f.close()

读整个文件

#for 循环写法
#循环打印出每一行(包括换行符)
#读文件时 要分段读 因为你不知道文件有多大
f = open('e:/py/test.txt',mode='r+',encoding='gbk')
for i in f:
    print(i)
f.close()


#with 写法(自动关闭——close)
#可以同时打开多个文件
with open('e:/py/test.txt',mode='r+',encoding='gbk') as file:
    print(file.read())

with open('e:/py/test.txt',mode='r+',encoding='gbk') as file,\
open('e:/py/file.txt',mode='r+',encoding='gbk') as file2:
    print(file.read())
    print(file2.read())

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

day 8 - 1 文件操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

day 8 - 1 文件操作

文件操作注意:1. r+ 最为常用2.encoding 的编码格式一定要与文件编码格式一致读取 r  rb#在本地创建 txt 格式的文件默认使用 gbk 格式f = open('e:/py/file.txt',mode='r',encod
2023-01-30

day 8 - 2 文件操作练习

注册登录需求:1.对账号密码的长度进行限制并不允许出现特殊字符2.把账号密码储存进文件中3.密码最多输入错误三次#分别判断注册时账号密码的长度与特殊字符flag=1while flag: y=0 x=0 username
2023-01-30

day 08 文件操作

文件操作  - >open()  打开f = open(文件路径,mode='模式',encoding='编码格式') 最最底层操作的是bytes,打开一个文件的时候获取到的是一个文件的句柄从文件中读取数据f.read()  读取文档的内容
2023-01-30

Java的文件操作--1

前两天看了《java核心编程》中对于java中的IO输入输出讲解,收获良多,下面的程序是我读完书以后自己写的一个将zip文件集中的文件内容读取出来然后显示(只限于文本,其他文件将会产生乱码),此程序也可通过改进可以得到一个和winzip功能
2023-06-03

Windows 8技巧:windows 8文件 文件夹管理[文件以及文件夹操作]

在本文中我们将学习win 8中的文件以及文件夹的各种操作。在本文中文件操作主要是讲述:删除文件/移动文件/复制文件/重命名文件文件夹操作分为:读取文件夹/创建文件夹/删除文件夹/重命名文件夹首先贴出所有的Xaml代码文件部分:复制代码代码如
2022-06-04

python 点滴记录8:文件操作rea

python读取文件内容时,有三种方法:read()、readline()和readlines()这三种方法区别如下:read(...)    read([size]) -> read at most size bytes, returne
2023-01-31

python 文件操作api(文件操作函数)

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来
2022-06-04

文件操作

文件操作一、关于文件读写的笔记(一) 文件概述文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容文件都是按照2进制进行存储的,但在表现形式上有2种:文本文件和二进制文件。1. 文本文件  文本文件一般由单一特定编码的字符组成,如u
2023-01-31

python 文件操作

python基本的文件操作,包括 open,read,write对文件操作流程:1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件新建一个txt文件,内容是《Yesterday When I Was Young
2023-01-30

Python3 文件操作

Python3 文件操作打开方式手动挡open+close自动挡with,自关闭常见操作w, r, a, bwritereadlinereadlinesseektellread相关模块fnmatchglobpickleStringIOshe
2023-01-31
2023-09-05

python文件操作

1. 文件操作 open 打开 f = open(文件路径, mode="模式", encoding="编码格式") 最最底层操作的就是bytes 打开一个文件的时候获取到的是一个文件句柄.
2023-01-30

20190221-文件操作

假定一个全英文的文件,读取该文件,请统计多少个不重复的单词,并且在另外一个文件中写上结果每个单词出现的次数,以及一共有多少个不重复的单词分别为哪些 注意:文件中可能包含特殊符号Step1:打开文件,可使用方法如下:  方法1:fp = op
2023-01-30

python 操作文件

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。操作前需要 import os;返回当前目录,不包括文件名: os.getcwd();返回指定目录下的所有文件和目录名:os.listdir("dirn
2023-01-31

python---文件操作

一、对文件操作流程1.打开文件,得到文件句柄并赋值给一个变量2.通过文件句柄对文件进行操作3.关闭文件二、文件打开模式f = open("file_test","r",encoding = "utf-8")    #打开文件,“读模式”,只
2023-01-31

Python3文件操作

打印到屏幕产生输出的最简单方法是使用print语句,可以通过用逗号分隔零个或多个表达式。这个函数传递表达式转换为一个字符串,如下结果写到标准输出 -#!/usr/bin/python3print ("Python is really a g
2023-01-31

python_文件操作

一、文件处理基本形式 # 1. 打开文件,得到文件句柄并赋值给一个变量# 文件句柄 = open('文件路径', '模式', '操作文件的字符编码')f = open('carter', 'r', encoding='UTF-8') #
2023-01-30

python-文件操作

文件操作1.  读 / 写 操作读取: r (read):只能读不能写,文件不存在就报错​#打开文件:    object = open('某txt文件',mode = 'r',encoding = '编码')​#读取文件所有内容到内存:
2023-01-31

python3--文件操作

python文件操作文件以什么编码存储,就以什么编码打开参数:1 文件路劲2 编码方式3 执行动作(打开方式):只读,只写,追加,读写,写读例子现有一个文档,制服护士空姐萝莉联系方式.txt,怎么用python打开?f=open(D:\制服
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录