一、打开文件的模式1:读、写、追加

1、r读:读模式,只能读,不能写,打开不存在的文件会报错;可省略'r',因为不写默认是读模式

f = open('filename',encoding='utf-8')
result = f.read()
print(result)
f.close()

2、w写:写模式,只能写,不能读,会覆盖原来的内容,文件不存在会创建

f = open('test.txt','w',encoding='utf-8')
f.write('abc')

3、a追加:追加模式,只能写,不能读,在原来文件的内容上增加新内容;文件不存在会创建文件

f = open('test.txt','a',encoding='utf-8')
f.write('哈哈')
f.close()

二、打开文件的模式2:r+,w+,a+

1、r+:只要和r有关,打开不存在的文件都会报错,r+默认的文件指针在最前面;

2、w+:只要和w有关,都会清空原来的文件;

3、a+:文件指针默认是在末尾的,如果想要读到内容,先要把文件指针移动到最前面;

由于a+模式是在内容后面追加,不会清空原内容,所以使用时尽量使用a+模式

三、读取文件的几种方法:

read()  : 一次性读取整个文件内容。推荐使用read(size)方法,size越大运行时间越长

readline()  :每次读取一行内容。内存不够时使用,一般不太用

readlines()   :一次性读取整个文件内容,并按行返回到list,方便我们遍历

一般小文件我们都采用read(),不确定大小你就定个size,大文件就用readlines()

f = open('new.txt',encoding='utf-8')
# print(f.read()) #读取文件所有的内容
# print(f.readline())#读取文件一行的内容
# print(f.readline())#读取文件一行的内容
print(f.readlines())#将读取的所有的内容,把所有内容放到list里展示
f.seek(0) #移动文件指针
print(f.read())
f.close()

四、将列表的内容传入文件的方法:

1、方法1:

#将l列表内容写入文件new.txt中
l = ['a','b','c','d','e']
f = open('new.txt','w+',encoding='utf-8') for i in l:
f.write(i)
f.seek(0)
print(f.read())
f.close()

2、方法2:

f.writelines(l) #传一个list的话,他会自动帮你循环,把list里面每一个元素写到文件了里面
f.seek(0)
print(f.read())
f.close()

五、修改文件

#1、简单直接粗暴的方式
# (1)先读取内容
# (2)再替换
# (3)清除原来文件的内容
# (4)把新的内容写进去 f = open('old.txt','a+',encoding='utf-8')
f.seek(0)
result = f.read()
content = result.replace('xiaolan','dalan')
f.seek(0)
f.truncate()#清空文件内容
f.write(content)
f2 = open('smh.txt','w')
f2.write(content)
#2、逐行处理
#(1)打开a文件,在打开空文件b文件
#(2)从a文件读一行,修改,修改之后写在b文件里
#(3)删除a文件,把b文件的名字改成a文件
f = open('case.txt',encoding='utf-8')
f2 = open("case2.txt",'w',encoding='utf-8') for line in f:
result=line.upper()
f2.write(result)
f.close()
f2.close() import os
os.remove('case.txt')
os.rename('case2.txt','case.txt')

六、不用关闭文件的方式:

# with方法不需要关闭文件,会自动关闭
with open('new.txt') as f:
f.read() with open('new.txt') as f,open('new_w+','w') as f2:
f=f.read()
f2.write('xx')

Python 文件操作 day2的更多相关文章

  1. Python基础篇【第2篇】: Python文件操作

    Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...

  2. [Python学习笔记][第七章Python文件操作]

    2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...

  3. Python文件操作与函数目录

    文件操作 python文件操作 函数 Python函数学习——初步认识 Python函数学习——作用域与嵌套函数 Python函数学习——匿名函数 python内置函数 Python函数学习——递归 ...

  4. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  5. day8.python文件操作

    打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...

  6. 关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()

    嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折 ...

  7. Python之路Python文件操作

    Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...

  8. python 文件操作 r w a

    python基础-文件操作   一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件       打开文件时,需要指定文件路径和以何等方式打开文件, ...

  9. Python:文件操作技巧(File operation)(转)

    Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python #  -*- coding: utf8 -*- spath = " D:/dow ...

随机推荐

  1. 有趣的linux shell 命令, 跑马车

    apt-get install sl

  2. MySQL 调优 —— Using filesort

    出现这个问题的解决办法在于 MySQL 每次查询仅仅能使用一个索引, 而你的 SQL 语句 WHERE 条件和 ORDER BY 的条件不一样, 索引没建好的话. 那么 ORDER BY 就使用不到索 ...

  3. Apache Traffic Server 5.3.1公布

    本文来源于我在InfoQ中文站翻译的文章,原文地址是:www.infoq.com/cn/news/2015/07/traffic-server-5.3.1-release 近日,Apache软件基金会 ...

  4. Android中检測字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(一)

    package com.android.filebrowser;   import java.io.*; import java.net.*;   public class FileEncodingD ...

  5. VCenter中嵌套openstack VM不能ping通外部网络问题解决的方法

    问题描写叙述: 近期搭建了vCenter环境,并使用vCenter创建的VM搭建了一套openstack环境.在验证openstack的外网功能时.发现报文死活ping不通外网,抓包发现报文在vcen ...

  6. Android 组件ContentProvider

    Android 组件ContentProvider Android的数据存储有五种方式Shared Preferences.网络存储.文件存储.外储存储.SQLite,一般这些存储都仅仅是在单独的一个 ...

  7. Android中Calendar类的用法总结

    Calendar是Android开发中需要获取时间时必不可少的一个工具类,通过这个类可以获得的时间信息还是很丰富的,下面做一个总结,以后使用的时候就不用总是去翻书或者查资料了. 在获取时间之前要先获得 ...

  8. B1076 [SCOI2008]奖励关 状压dp&&期望dp

    这个题的n<15,一看就是状压dp.但是状态不是很好想.f[][]存i关的状态j. 这个题另一个关键思想在于倒推,我一开始想的是正推,但是只能记忆化了. 题干: 题目描述 你正在玩你最喜欢的电子 ...

  9. B1202 [HNOI2005]狡猾的商人 并查集

    其实就是并查集的题.维护一个前缀和,然后用并查集维护前缀和,每次判断是否合理就行了. 题干: Description 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的.账本上记录了 ...

  10. 603E

    LCT维护MST+子树信息 看了好长时间题解 editorial 结论:像做最小生成树一样,当每个连通块都是偶数个点就停下来. 每次复杂度mlogm 口胡 首先我们发现奇数个点是不满足每个点度数为奇数 ...