文件打开:

1. f = open('yesterday,‘r+’,encoding = ‘utf-8’) 读取的方式加载为Utf-8

r    打开文件并写, 只适用于文字类

r+   打开文件并读写,文件的指针定位在文件的开始位置;文件不存在就报错

w   打开文件只读操作, 如果文件存在就清空文件,文件不存在就创建文件

w+  打开文件并写读,如果文件存在就清空文件,从新写入,如果文件不存在就创建文件

a    打开文件并追加, 文件存在时,就追加在文件的后面,如果文件不存在就创建

a+  打开文件并追加读,文件存在时,文件指针定位在文件的开始位置,文件不存在,则创建新的文件,写入时,添加到文章末尾,并且指针也指向文章末尾

wb  进行二进制文件的写      多用于exe, elf, jpeg格式的文件

rb   进行二进制文件的读

在读文件时的5种读取方式:

1.  f.read()       按原来格式全部读取

2.  f.read(n)      读取n个字符或者字节

3.  f.readline()    只读取一行

4.  f.readlines()  全部读取,然后储存在一个列表中

5.  for 循环   使用的是生成器,因此读取速度快,且每次在内存中都只存在一行

文件迭代器:

#举例 在文件第3行打出(‘----分隔符----’)

count = 0

for line in f:

count += 1

if count == 3:

print((‘----分隔符----’)

continue

print(line)

#速度较快

光标:

print(f.tell())  显示光标的位置

print(f.seek(0)) 设置光标的位置  f.seek(0, 2)  设置光标的位置在结尾

其他操作

f.readable()  判断是否可读

f.writeable()  判断是否可写

f.truncate(size)  size表示截取的范围,在打开文件时,必须采取写的方式,因此这里可以使用a+, 或者r+

读条的实现

import sys

import time

for i in range(10):
     sys.stdout.write('#')  #输出字符不换行

sys.stdout.flush()       #强制刷新

time.sleep(0.1)

2. with open('yesterday.txt', 'r', encoding = 'utf-8') as f:           #文件打开的另外一种方式

for line in f:

print(line)

3. 文件的修改

import os

f_new = open('yesterday3.txt', 'a')

f = open('yesterday.txt','r', encoding = 'utf-8')

for line in f:

if  '小红'  in line:

line = line.replace('小红', ‘’小明“)

f_new.write(line)

f.close()

f_new.close()

os.remove(''yesterday3.txt'')

os.rename('yesterday.txt', 'yesterday3.txt')

文件的基本操作(python)的更多相关文章

  1. Python之文件的基本操作

    在python中,对文件的基本操作一共有如下四种: 1.打开文件 file_obj = open("文件路径","模式") 常用的打开文件模式有: r:以只读方 ...

  2. Python学习之路基础篇--08Python基础+ 文件的基本操作和 注册小作业

    1 文件的基本操作 #1. 打开文件的模式有(默认为文本模式): r ,只读模式[默认模式,文件必须存在,不存在则抛出异常] w,只写模式[不可读:不存在则创建:存在则清空内容] a, 只追加写模式[ ...

  3. Python基础之文件的基本操作

    概述:文件的基本操作1.open 打开文件 f = open("xxx",mode="r",encoding="utf-8") #常用形式 ...

  4. python基础学习Day8 文件的基本操作

    1.文件的基本操作初识 f = open('a.text', 'r', encoding='utf-8')data = f.read()print(data)f.close() 2.读  r  r+b ...

  5. <day004>小娜显示空白+CSV文件的基本操作+普通的代理使用

    小知识: 当小娜搜索显示空白的时候,怎么解决? 任务管理器结束小娜进程就好了= =*(多半是惯得,关掉就好了!) 任务1:CSV文件的基本操作 import csv import pandas as ...

  6. divmod(a,b)函数是实现a除以b,然后返回商与余数的元组、eval可以执行一个字符串形式的表达式、exec语句用来执行储存在字符串或文件中的Python语句

    #!/usr/bin/env python a = 10/3 print(a) #divmod计算商与余数 r = divmod(10001,20) print(r) #eval可以执行一个字符串形式 ...

  7. Python3将xml文件解析为Python对象

    一.说明 从最开始写javascript开始,我就很烦感使用getElementById()等函数来获取节点的方法,获取了一个节点要访问其子孙节点要么child半天要么就再来一个getElementB ...

  8. 将python文件加入到python的环境变量中

    在python中,把一个python文件加入到python环境变量中,以方便其他python文件调用.有两种方式,下面对其进行简单的介绍 方式一: 导入系统自带的sys模块,然后将文件的路径进行追加或 ...

  9. 文件参数化-utp框架之根据yaml文件自动生成python文件+utp运行用例

    根据yaml文件自动生成python文件 utp框架: bin目录:存放执行文件(run.py) cases目录:存放生成的用例的python文件(该目录下的文件为根据data目录下的测试用例生成的p ...

  10. Linux下文件的基本操作

    文件的基本操作 新建和删除文件夹 命令#mkdir /file 在当前目录创建file文件夹 命令#rmdir /file 删除当前目录下file文件夹 复制和移动文件 命令#cp text/file ...

随机推荐

  1. 南阳oj-ASCII码排序-用了一个晚上

    #include <iostream> #include <sstream> #include <stdio.h> #include <string> ...

  2. leetcode:Path Sum【Python版】

    1.类中递归调用函数需要加self # Definition for a binary tree node # class TreeNode: # def __init__(self, x): # s ...

  3. binlog cache size设置是否合理判断

    二进制日志是写操作是,首先写入二进制日志缓冲(binlog_cache)然后commit,再从binlog_cache写入到binlog文件,默认大小为32K,而binlog_cache是sessio ...

  4. java 的关键字 native

    native native 关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中.Java语言本身不能对操作系统底层进行访问和操作,但是可 ...

  5. Linux elasticsearch 安装 遇到的问题

    备注:我的 Linux 测试机  是2G 内存的 ,估计内存小于 我的内存肯定会出这个问题 .(安装的最新版6.3.2) 1.  下载文件  解压 2 .试着 运行 bin 下面的 elasticse ...

  6. Mac 平台安装 Android Studio 集成 Android SDK

    最近写个小工具,给周边一些朋友用用(类似任务执行),一开始 任务执行用Python写的,部署在云端,有一些局限(资金开销):现准备写一个任务端,需要用到的人直接装个客户端就行,于是准备写个客户端版本的 ...

  7. PMP学习笔记

    PMI:Project Management Institute,项目管理协会于1969年在美国成立,致力于全球范围内的项目管理研究.标准制定和出版.价值倡导.职业认证和学位 课程认证.现在,PMI已 ...

  8. 切图js

    首先引用一段关于拖动,缩放,剪切的基础代码 /* * 作者:http://cloudgamer.cnblogs.com/ * * 改进与增强 * 作者:http://yoker.sc0826.com/ ...

  9. java 异常和异常处理Exception

    Java Exception: 1.Error 2.Runtime Exception 运行时异常3.Exception 4.throw 用户自定义异常 异常类分两大类型:Error类代表了编译和系统 ...

  10. android 关于 webview 控制其它view的显示 以及更改view数据失败的问题总结

    总结: 1.webview 无法直接更改view的属性,可以通过 handler实现,因为跨线程 2.webview可以通过js api读取 view的属性值 代码: private Handler ...