一、打开文件的模式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. 认识GIT之入门

    前言 GIT是非常优秀的源代码版本管理工具,经过几年的发展,已经变得非常成熟以及流行,不同于其他的源代码管理系统,值得使用.GIT官网下载在线安装包,经常会中途退出,很有可能的原因是被墙了,所以建议使 ...

  2. apache zookeeper的安装

    original article:http://zookeeper.praveendeshmane.co.in/zookeeper/zookeeper-3-4-6-single-server-setu ...

  3. POJ-2201-Cartesian Tree(笛卡尔树)

    Description Let us consider a special type of a binary search tree, called a cartesian tree. Recall ...

  4. CreateDialog Win32 API调用的一个小问题

    在老版本号的VC编译器上.关键调用是下面2句: InitCommonDialogs(); HWND hwndDialog = CreateDialog(hInstance, "IDD_XXX ...

  5. 新手玩个人server(阿里云)

    阿里云如火如荼的0元活动,事实上一開始我仅仅是去直播吧看阿森纳vs贝西克塔斯.姑且算是一种乱入,url这样的奇妙的东西应该是万维网的最真实的写照.当然那是上周第一会回合的事了.可是故事却如此的类似.并 ...

  6. 王立平--java se的简单项目创建以及具体解释

    创建项目的简单步骤: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzQyNTUyNw==/font/5a6L5L2T/fontsize/400/ ...

  7. yum install mysql(转载)

    linux下使用yum安装mysql 1.安装查看有没有安装过:          yum list installed mysql*          rpm -qa | grep mysql* 查 ...

  8. hdu 1429(BFS+状态压缩)

    胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  9. hihocoder 1676 树上等差数列 黑科技树形dp

    #1676 : 树上的等差数列 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一棵包含N个节点的无根树,节点编号1~N.其中每个节点都具有一个权值,第i个节点的权值 ...

  10. 3.4 存储简单数据的利器——Preferences

    <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht ...