python 文本文件操作
文件操作三步走:打开、读写、关闭。
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 文本文件操作的更多相关文章
- [Python学习笔记][第七章Python文件操作]
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- day8.python文件操作
打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...
- Python之路Python文件操作
Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...
- Python读写操作Excel模块_xlrd_xlwt_xlutils
Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...
- 小学生都能学会的python(文件操作)
小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...
- Python文件操作:文件的打开关闭读取写入
Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...
- 字符编码和Python代码操作文件
字符编码和Python代码操作文件 读写模式之a模式 # a模式 只追加模式 # 路径不存在:自动创建 with open(r'a.txt','a',encoding='utf8') as f: pa ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
随机推荐
- 前端学习 之 CSS(三)
九:浮动 浮动是css里面布局最多的一个属性,也是很重要的一个属性. float:表示浮动的意思. 属性值: none: 表示不浮动,默认 left: 表示左浮动 right:表示右浮动 例: htm ...
- 【协作式原创】查漏补缺之Go的slice基础和几个难点
[转载]队友博客 Q: 为啥要字节对齐的 https://www.nowcoder.com/discuss/57978 TODO: Q: go反汇编指令 go tool compile -S plan ...
- 为小学生出四则运算题目.java
import java.util.Scanner; import java.util.Random; public class test{ public static int s1 = new Ran ...
- [转]JSP自定义标签
原文链接 当jsp的内置标签和jstl标签库内的标签都满足不了需求,这时候就需要开发者自定义标签. 自定义标签 下面我们先来开发一个自定义标签,然后再说它的原理吧! 自定义标签的开发步骤 步骤一 编写 ...
- vbs 入门
dim 定义变量名 dim name------------- dim name,agename = "worf"age = 20 msgbox 输出 msgbox name ...
- Python流程控制-3 循环控制
循环控制,就是让程序循环运行某一段代码直到满足退出的条件,才退出循环. Python用关键字for和while来进行循环控制,但是没有其它语言的do...while语句(在Java和PHP中都有do ...
- 方法重载(Overload)
方法重载(Overload):多个方法名称一样,但参数列表不一样. (一个方法名称,实现类似的多个功能) 方法重载与下列因素有关: 1. 参数个数不同 public static int sum(in ...
- Nvidia发布更快、功耗更低的新一代图形加速卡
导读 不出意外的,Nvidia在其举行的Supercomputing 19大会上公布了很多新闻,这些我们将稍后提到.但被忽略的一条或许是其中最有趣的:一张更快.功耗更低的新一代图形加速卡. 多名与会者 ...
- sshd免密登陆
用途:默认情况下,当A主机(1.1.1.1)远程通过ssh命令登陆到B主机(2.2.2.2)上,需要输入B主机的密码.免密登陆的效果为,A通过ssh命令登录到B时,不需要输入密码就可以登录,便于管理. ...
- Linux centosVMware PHP动态扩展模块
PHP动态扩展模块 /usr/local/php/bin/php -m //查看模块 下面安装一个redis的模块 cd /usr/local/src/ wget https://codeload.g ...