python中文件的读和写操作
一、打开文件
data = open("yesterday",encoding="utf-8").read()
# python默认的打字符编码是unicode,处理不了gbk,但是utf—8可以
print(data)
ps:这边的yesterday文件是一首英文歌的歌词
在打开的时候,一定要转码,否则会乱码:encoding="utf-8"
二、读取前几行
会用到read( )和readline( )方法
f = open("yesterday",encoding="utf-8") # 文件句柄,方法和1类似
# data = f.read() # 光标在最后面
# print(data)
# f.readline() # 读取一行,只适合读小文件
for i in range(5):
print(f.readline()) # 循环之后读取四行
三、读取前几行(优化版)
用到了迭代器,所以不会像二一样占用太大的内存,最后只会占用一行的内存
f = open("yesterday",encoding="utf-8")
# 实现前九行的输入,并且在第九行输入分割线
count = 0
for line in f:
if count == 9:
print("--------分割线-------")
count += 1
continue
print(line) # 迭代器!效率最高的循环方式,比2效率高是因为读完一行就删一行
count +=1
四、关于文件的方法
python不是直接调用所有文件,而是调用操作系统的接口I/O,通过接口来调用文件
# 1.tell()方法:光标的位置
f = open("yesterday",encoding="utf-8")
print("1:",f.tell()) # 把指针的位置表示出来,0
print("2:",f.readline())
print("3:",f.tell()) # 读完一行字符之后光标的位置
print("4:",f.readline(3))
print("5:",f.tell()) # 读完三行字符之后光标的位置
#2.seek()方法: 光标回到第几行
f.seek(0)
print("6:",f.tell()) # 光标重新回到了开始
# 3.encoding # 打印文件的编码类型
print("7:",f.encoding)
# 4.fileno() 可用于底层操作系统的 I/O接口操作。
print("8:",f.fileno())
# 5.flush()
print(f.flush()) # 实时刷新文件内容
其实在学习python基础的时候,pycharm的联想功能非常重要!
小福利:
打开文件的模式有:
r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
“+” 表示可以同时读写某个文件
r+,可读写文件。【可读;可写;可追加】
w+,写读
a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
rU
r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)一般是在跨平台的时候需要处理二进制文件,比如Windows到linux;视频文件也需要处理二进制文件
rb —读,以二进制模式打开,此时不需要即encoding,
wb—写,此时需要加入encoding
ab
python中文件的读和写操作的更多相关文章
- python3中文件的读与写
Python open() 函数用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出错误 完整语法:open(file, mode='r', buf ...
- python学习------文件的读与写
f=open("yesterday","r",encoding="utf-8") #文件句柄 data=f.read() data2=f.r ...
- Python之文件的读
python中文件的读操作:以只读的形式打开文件->逐行读取文件中的内容->关闭文件 代码如下 #文件的读 f = file(u'F:\\python\\homework.txt', 'r ...
- python文件处理-读、写
Python中文件处理的操作包括读.写.修改,今天我们一起来先学习下读和写操作. 一.文件的读操作 例一: #文件读操作 f = open(file="first_blog.txt" ...
- python中文件操作的六种模式及对文件某一行进行修改的方法
一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...
- 浅谈python中文件和文件夹的相关操作
文件操作 文件的打开与关闭 打开文件 使用open(文件名,访问方式)函数,可以打开一个已存在的文件,或者创建一个新的文件. 示例如下: f = open('test.txt') # 访问方式可以省略 ...
- Python中基本的读文件和简单数据处理
Python中基本的读文件和简单数据处理 暂无评论 DataQuest上面的免费课程(本文是Python基础课程部分),里面有些很基础的东西(csv文件读,字符串预处理等),发在这里做记录.涉及下面六 ...
- 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(4)-Excel文件读、写操作
Excel文件读.写可以使用Office自带的库(Microsoft.Office.Interop.Excel),前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题.还 ...
- python 中文件输入输出及os模块对文件系统的操作
整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...
随机推荐
- linux设置代理
在~/.bashrc或者/etc/profile下,添加下面 http_proxy=http://192.168.105.171:80 https_proxy=$http_proxy export h ...
- 20145319 《网络渗透》免考—API拦截技术
20145319 <网络渗透>免考-API拦截技术 概述 本次实验在window环境下进行,主要通过编写hook代码和注入程序,将我们的hook代码通过dll文件的形式注入到目标中,拦截其 ...
- Install Virtualbox on ubuntu
1.Use the command: sudo apt-get install virtualbox
- Eclipse java项目将普通文件转化为Source文件的操作
前提:该项目中已经将原有的Source folder删除掉. 右键单击普通文件>Build path>Use as Source Folder.
- dart基础计数器
import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends S ...
- (转)RabbitMQ学习
(二期)24.消息中间件RabbitMq [课程24]RabbitM...概念.xmind60.2KB [课程24]五种队列模式.xmind0.8MB [课程24]消息确...rm).xmind84. ...
- js 二分搜索树删除子节点
删除的节点含有左子树或者右子树,用其子树来代替成为被删除节点的父节点的子树 删除左右都有孩子的节点,找到右边子树最小的节点作为父节点
- P4145 上帝造题的七分钟2 / 花神游历各国
思路 每个数不会被开方超过log次,对每个数暴力开方即可 代码 #include <algorithm> #include <cstring> #include <cst ...
- nginx 配置 https 请求
1,先去这个网站申请一下证书 https://certmall.trustauth.cn/Home/Member/index/id/1521167511.html 上面会教你怎么去做. 2,就是配置自 ...
- Java基础 【自动装箱和拆箱、面试题】
JDK 1.5 (以后的版本)的新特性自动装箱和拆箱 1. 自动装箱:把基本类型转换为包装类类型 int a =10; Integer i = new Integer(a); Integer valu ...