文件操作三步走:打开、读写、关闭。

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

file参数指定了被打开的文件名称。

mode参数指定了打开文件后的处理方式。

encoding参数指定对文本进行编码和解码的方式,只适用于文本模式,可以使用Python支持的任何格式,如GBK、utf8、CP936等等。

文件打开模式

例:向文本文件中写入内容,然后再读出

s = 'Hello world\n文本文件的读取方法、文本文件的写入方法\n'
with open('sample.txt','w') as fp: #默认使用cp936编码
fp.write(s*5)
#生成的文件放在.py文件所在文件夹 with open('sample.txt') as fp:
print(fp.read()) E:\pytho_pycharm\venv\Scripts\python.exe E:/pytho_pycharm/prac.py
Hello world
文本文件的读取方法、文本文件的写入方法
Hello world
文本文件的读取方法、文本文件的写入方法
Hello world
文本文件的读取方法、文本文件的写入方法
Hello world
文本文件的读取方法、文本文件的写入方法
Hello world
文本文件的读取方法、文本文件的写入方法 Process finished with exit code 0

例:将一个CP936编码格式的文本文件中的内容全部复制到另一个使用UTF8编码的文本文件中。

#将一个CP936编码格式的文本文件中的内容全部复制到另一个使用UTF-8编码的文本文件中
def filecopy(srcc,dstt,srccEncoding,dsttEncoding):
with open(srcc,'r',encoding=srccEncoding) as srcfp:
with open(dstt,'w',encoding=dsttEncoding) as dstfp:
dstfp.write(srcfp.read()) filecopy('sample.txt','sample_new.txt','cp936','utf8') #读取这两个文件
with open('sample.txt') as fp: #默认为CP936编码
print(fp.read())
print()
with open('sample_new.txt',encoding='utf-8') as fp: #如果是其他编码需要有(encoding = )
print(fp.read())

  

例:遍历并输出文本文件的所有行内容

with open('sample.txt') as fp:
for line in fp:
print(line,end='')

  

案例:

根据考试成绩,统计学科等级水平。 分析:某中学对学生的附加科目进行能力测试,并按以下标准统计学科等级水平。

(1)生物和科学两门课都达到60分,总分达到180分为及格;

(2)每门课达到85分,总分达到260分为优秀;

(3)总分不到180分或有任意一门课不到60分,为不及格。

学生成绩原始数据如图所示。

编程要求:从score.txt文件中读取学生成绩数据,判定等级并写入level.txt文件中。

L = list(open('score.txt')) #文件中的每一行都是列表的一个元素
f = open('level.txt','w') #新建level文件夹写入
flag = 1 for s in L:
x = s.split()
if flag:
flag = 0
f.write("%s\t%s\t%s\t%s\t是否及格\n" % (x[0], x[1], x[2], x[3]))
continue
for i in range(len(x)): #假如一行有多个类别就要用for循环
x[i] = int(x[i])
sum = x[1]+x[2]+x[3]
if x[1]>=85 and x[2]>=85 and x[3]>=85 and sum>=260 :
key = '优秀'
elif x[2]>=60 and x[3]>=60 and sum>=180:
key = '及格'
elif x[1]<60 or x[2]<60 or x[3]<60 or sum<180 :
key = '不及格'
f.write('%d\t%d\t%d\t%d\t%s\n'%(x[0],x[1],x[2],x[3],key))
f.close()
f = open('level.txt')
print(f.read())

  

s=open('score.txt')
f=open('level.txt','w')
x = s.readline().split()
f.write()
while True:
x=s.readline().split()
if len(x)==0:
break
for i in range(1,len(x)):
x[i]=int(x[i])
sum=x[1]+x[2]+x[3]
if x[1]>=85 and x[2]>=85 and x[3]>=85 and sum>=260:
key = "优秀"
elif x[2]>=60 and x[3]>=60 and sum>=180:
key = "及格"
else:
key = "不及格"
f.write()
s.close()
f.close()

  

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

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

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

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

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

  3. day8.python文件操作

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

  4. Python之路Python文件操作

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

  5. Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  6. 小学生都能学会的python(文件操作)

    小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...

  7. Python文件操作:文件的打开关闭读取写入

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  8. 字符编码和Python代码操作文件

    字符编码和Python代码操作文件 读写模式之a模式 # a模式 只追加模式 # 路径不存在:自动创建 with open(r'a.txt','a',encoding='utf8') as f: pa ...

  9. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

随机推荐

  1. Pandas 性能优化 学习笔记

    摘要 本文介绍了使用 Pandas 进行数据挖掘时常用的加速技巧. 实验环境 import numpy as np import pandas as pd print(np.__version__) ...

  2. Django 中的select_related函数优化查询

    参考链接: https://blog.csdn.net/secretx/article/details/43964607 在数据库有外键的时候,使用select_related()和prefech_r ...

  3. Session共享解决方案

    使用nginx做的负载均衡添加一个ip_hash配置 一.开两个Tomcat写测试程序 @WebServlet("/nginxSessionServlet") public cla ...

  4. Primecoin在windows上的部署和启动服务

     Primecoin在windows上的部署和启动服务: 一.从官方获得Primecoin的windows版安装包: 二.一路像安装客户端一样的安装: 三.安装成功后它会自动弹出客户端运行,同步数据, ...

  5. mysql :将其中两个数据的某一个字段合拼成一句

    SELECT xq.*, ts.xu_qiu_id, ts.content FROM wx_xu_qiu xq LEFT JOIN (SELECT xu_qiu_id, GROUP_CONCAT(co ...

  6. Linux centosVMware PHP动态扩展模块

    PHP动态扩展模块 /usr/local/php/bin/php -m //查看模块 下面安装一个redis的模块 cd /usr/local/src/ wget https://codeload.g ...

  7. R语言 which() 、 which.min() 、 which.max() 函数

    函数 which() 可以用来找到满足条件的下标,如 x <- c(3, 4, 3, 5, 7, 5, 9) which(x > 5) 5 7 seq(along=x)[x > 5] ...

  8. getline及读文件总结

    今天由华为软件精英挑战赛的要求,读文件这块自己进行了总结,主要是泛型以及关联容器这块需要加强,现在总结了读文件的iterator的用法. 1.iterator inserter(essential C ...

  9. 设计模式课程 设计模式精讲 2-3 UML类图讲解自上而下

    1 内容简析(易错加粗) 2 uml类图展示 1 内容简析(易错加粗) 1.1 设计模式中的对象关系 依赖关系 虚线箭头 组合关系 实心菱形 聚合关系 空心菱形(想象成盘子,盛东西,盘子的多,另一方少 ...

  10. Spring Cloud入门-Nacos实现注册和配置中心(Hoxton版本)

    文章目录 摘要 Nacos简介 使用Nacos作为注册中心 安装并运行Nacos 创建应用注册到Nacos 负载均衡功能 使用Nacos作为配置中心 创建nacos-config-client模块 在 ...