文件句柄:可简单理解为应该内存对象

open()函数  参考 https://www.runoob.com/python3/python3-file-methods.html

读、写、追加

 '''
txt文件内容:
I
am
very
handsome
'''
#读(mode = r)
f = open('test.txt','r',encoding='utf-8')
x = f.readline() #读取文件的一行,这时文件句柄移动到下一行的位置
x = f.readlines() #从文件句柄位置开始读取整个文件内容,并将每一行作为一个元素添加到一个列表
#当一个文件很大时readlines()是行不通的,他会把整个文件加载到内存,再执行后面的代码
#这回耗费很多时间和消耗大量的内存 # 可以用读一行打印一行的方式加快文件的读取
f.seek(0) #将文件句柄挪到文件的开始位置
for l in f:
print(l.strip(),end=' ')
#结果 I am very handsome #这个方法在一边读文件一边写文件是很有用的
#写(mode = w) 如果目标文件不存在会创建一个,但是如果存在的话会把原文件内容删除,慎用!!!
# 备份一个test.txt,名为test_bak.txt
f.seek(0)
f_w = open('test_bak.txt','w') #encoding 默认utf-8
for l in f:
f_w.write(l)
#完成备份
#追加 (mode = a)在原文件的后面追加内容,是不可读的,如果文件不存在会创建一个
f_a = open('test.txt','a')
f_a.write('lalala') #'lalala' 被添加到了test.txt的末尾
f_a.close()
f_w.close()
f.close()

读写、写读、追加读写

 '''
txt文件内容:
I
am
very
handsome
'''
#读写(mode = r+)
with open('test.txt','r+') as f_r_p,\
open('test_bak.txt','w+') as f_w_p,\
open('test_a.txt','a+') as f_a_p:
'''
用with语法可以省略最后的文件关闭操作,同时可以打开多个文件
1.w+,还是会将原文件内容删除然后在进行写读等操作,慎用!!!
2.r+,非常实用,但如果要对原文件直接更改是不行的,比如有'I am very handsome'这么一个
字符串,如果想把'I'改为'You',见下面代码21-24行,发现打印的结果还是'I',没有变为想要替换
的'You',因为在硬盘里的文件已经写死了,硬盘里的后面数据是不会随着前面的数据的变化而前
后挪动的,所以要修改文件可以采用复制的方法,就是在创建一个文件,并将修改的内容写入新的
文件。
'''
x = f_r_p.readline()
x.replace('I\n','You\n')
f_r_p.seek(0)
print(f_r_p.readline())
#将test.txt文件,第一行改为'You',并写入test_a.txt
f_r_p.seek(0)
for l in f_r_p:
print(l,end='')
if l=='I\n':
f_a_p.write('You\n')
else:
f_a_p.write(l)

二进制

 #二进制写(mode = wb)
with open('bin.txt','wb') as f_wb:
f_wb.write(b'i am bin')
#二进制读(mode = rb)
with open('bin.txt','rb') as f_rb:
print(f_rb.readline())

python 基础(文件)的更多相关文章

  1. python 基础-文件读写'r' 和 'rb'区别

    原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...

  2. Python基础--文件操作和集合

    这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 ...

  3. python基础--文件操作实现全文或单行替换

    python修改文件时,使用w模式会将原本的文件清空/覆盖.可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开. 替换文本中的taste 为 tasting Yesterday whe ...

  4. python基础-文件操作

    一.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认模式,文件必须存在,不存在则抛出异 ...

  5. python基础 - 文件读写

    完成功能: 从指定位置读文件到控制台 #! /usr/bin/python # coding=utf- 方法一. try: f = open ('/root/python/file/001.txt', ...

  6. python基础-文件操作(10)

    一.什么是文件 等等这些都叫做文件,各种格式的.但不仅仅限制于这些. 二.文件的作用 大家应该听说过一句话:“好记性不如烂笔头”. 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了 ...

  7. 第3章 Python基础-文件操作&函数 文件操作 练习题

    一.利用b模式,编写一个cp工具,要求如下: 1. 既可以拷贝文本又可以拷贝视频,图片等文件 2. 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target ...

  8. python基础----文件处理

    一.文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 正趣果上果 Interesting fruit fruit 词:郭婞 曲:陈粒 编曲/混音/和声:燕池 萧: ...

  9. python基础-文件处理与函数

    1. 文件处理 1.1 文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 1.2 文件读取模式r r文本模式的读,在文件不存在,不会创建新文件 f = ...

  10. Python基础——文件操作

    写文件 writefile %%writefile ./data/testFile.txt hello python jin tian tian qi bu cuo open覆盖 txt=open(' ...

随机推荐

  1. mysql优化查找执行慢的sql

    想要进行sql优化,肯定得先找出来需要优化的sql语句 一.mysql有一个自带的sql执行慢记录日志文件,所记录的日志取决于参数long_query_time控制,默认情况下long_query_t ...

  2. 一口气讲完 LSA — PlSA —LDA在自然语言处理中的使用

    自然语言处理之LSA LSA(Latent Semantic Analysis), 潜在语义分析.试图利用文档中隐藏的潜在的概念来进行文档分析与检索,能够达到比直接的关键词匹配获得更好的效果. LSA ...

  3. Python适合练手的项目

    原文地址:https://www.jianshu.com/p/039156321e30 项目地址:https://github.com/DeqianBai/Python-Project/tree/ma ...

  4. 通过case when实现SQL 多个字段合并为一列值

    with tt as (select A.GID, CASE WHEN A.IsApp='是' THEN 'APP' else '' end 'APP', CASE WHEN A.IsSmallApp ...

  5. delete some elements from the head of slice without new memory

    a = []int{1, 2, 3} a = append(a[:0], a[1:]...) // 删除开头1个元素 a = append(a[:0], a[N:]...) // 删除开头N个元素

  6. Linux 对音频万能处理的命令——SOX

    what's the SOX         SoX(即 Sound eXchange)是一个跨平台(Windows,Linux,MacOS 等)的命令行实用程序,可以将各种格式的音频文件转换为需要的 ...

  7. http 1.1 状态码定义

    part of Hypertext Transfer Protocol -- HTTP/1.1RFC 2616 Fielding, et al. 10 Status Code Definitions ...

  8. [Golang] 消费Kafka的日志提交到ElasticSearch

    0x0 需求 消费Kafka的日志并写入ElasticSearch供查询 0x1 依赖库 golang版Kafka客户端 https://github.com/Shopify/sarama golan ...

  9. General VDPConfig对讲配置工具

    General VDPConfig大华楼宇对讲配置工具是ConfigTool的一个对讲模块,主要服务对象为可视对讲的门口机和室内机,大华可视对讲在独户应用中,利用了自身在视频监控领域的优势,充分整合了 ...

  10. 【maven学习】构建maven web项目

    Maven Web应用 创建Web应用程序 要创建一个简单的java web应用程序,我们将使用Maven的原型 - web应用插件.因此,让我们打开命令控制台,进入到C: MVN目录并执行以下命令m ...