码迷,mamicode.com
首页 > 其他好文 > 详细

L7-1 文本处理

时间:2019-12-22 10:43:44      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:类型   code   mode   硬盘   world   间接   country   关闭   这一   

一、课堂导入

本节课开始我们进入了代码的新征程,回顾上一个阶段,我们学习到了函数、模块、类等知识,这一阶段,我们将知识点进行整合,去探究更加有趣的编程问题。

二、文本处理

1.内容导入

程序主要包含三个方面:输入、处理、输出。

计算机系统分为:计算机硬件,操作系统,应用程序三部分。

我们可以运用input()可以输入信息,但是此时信息是存储到内存中的,不能永久保存。想要永久保存的话,就需要从存储在计算机的硬盘中的文件得到输入,将其保存到文件中。

2.文件

2.1 什么是文件

文件能存储信息,文件的类型可以是文本、图片和程序等,被存储到硬盘、CD、软盘等存储介质中。

总结:文件是操作系统为用户/应用程序提供的一种操作硬盘的抽象单位

2.2 为何要用文件

用户/应用程序对文件的读写操作会由操作系统转换成具体的硬盘操作

所以用户/应用程序可以通过简单的读\写文件来间接地控制复杂的硬盘的存取操作

实现将内存中的数据永久保存到硬盘中

name=input(‘>>>>: ‘) #name="Rita"

2.3 文件的种类

技术图片

2.4 文件的扩展名

扩展名是用来表示文件是什么类型的。

技术图片

 

 

 

2.5 文件的位置

每个文件都要存储在某个存储介质里,所以我们必须要找到文件的存储位置,如何找呢?

例:现在我们需要找一个文件名叫di.txt的文件,已知是存储在电脑C盘下的一个名叫Picture文件中,所以此时我们应该根据以上信息找到我们想要的文件,如下图:

技术图片技术图片

 

2.6 文件路径

准确无误的找到文件位置后,我们一起来学习在python中路径应该如何书写

电脑上:C:\Picture\di.jpg

python中:C:\\Picture\\di.jpg

注意:1.在python中“\”是用来换行和转义的

    2.python中想要表示反斜杠功能需先转义,故“\\”

2.7 如何用文件

文件操作的基本步骤:

技术图片

f=open(....) # 打开文件,拿到一个文件对象f,f就相当于一个遥控器,可以向操作系统发送指令

f.read() # 读写文件,向操作系统发送读写文件指令

f.close() # 关闭文件

三、文件操作

1.打开文件

在python中,使用open()这个函数来打开并返回文件对象

技术图片

打开文件的模式有:

  • r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
  • w,只写模式【不可读;不存在则创建;存在则清空内容】
  • a,   追加模式【可读,不存在则创建;存在则只追加内容】
  • b,【以二进制模式打开文件】
  • t, 【以文本模式打开文件(默认)】

 技术图片

2.操作文件

技术图片

3.读取文件

技术图片

#掌握
f.read() #读取所有内容,光标移动到文件末尾
f.readline() #读取一行内容,光标移动到第二行首部
f.readlines() #读取每一行内容,存放于列表中

f.write(1111\n222\n) #针对文本模式的写,需要自己写换行符
f.write(1111\n222\n.encode(utf-8)) #针对b模式的写,需要自己写换行符
f.writelines([333\n,444\n]) #文件模式
f.writelines([bytes(333\n,encoding=utf-8),444\n.encode(utf-8)]) #b模式

#了解
f.readable() #文件是否可读
f.writable() #文件是否可读
f.closed #文件是否关闭
f.encoding #如果文件打开模式为b,则没有该属性
f.flush() #立刻将文件内容从内存刷到硬盘
f.name

案列:

在电脑桌面右击鼠标按钮,新建一个文件夹,文件名名为code.txt,并写入一些数据。

1.读取整个文件

b="C:\\Users\\admin\\Desktop\\Text\\code.txt"
f=open(b,mode="r",encoding="utf-8")
a=f.readlines()
print(a)

2.一次读取一行

b="C:\\Users\\admin\\Desktop\\Text\\code.txt"
f=open(b,mode="r",encoding="utf-8")
first_line=f.readline()
second_line=f.readline()
print(first_line)
print(second_line)

4.写入文件

 技术图片

 

 

 注意:如果要让每次写入的内容单独在一行,需要用换行符“\n”

# 写模式:文件不存在则创建,文件存在则覆盖原有的
b="C:\\Users\\admin\\Desktop\\Text\\code.txt"
f=open(b,mode="w",encoding="utf-8")
f.write("country")
# 追加模式:文件不存在则创建,文件存在不会覆盖,写内容是追加的方式写
b="C:\\Users\\admin\\Desktop\\Text\\code.txt"
f=open(b,mode="a",encoding="utf-8")
f.write("world\n")
f.writelines([aa\n,bb\n])

5.关闭文件

技术图片

 

 

b="C:\\Users\\admin\\Desktop\\Text\\code.txt"
f=open(b,mode="a",encoding="utf-8")
f.write("world\n")
f.close()

四、上下文管理

为了防止忘记关闭文件,可使用with关键字,open返回的文件对象只在with代码块内可用。

with open(failname,"w",encoding="utf-8") as f:

failname="C:\\Users\\admin\\Desktop\\Text\\code.txt"
# f是别名
with open(failname,"w",encoding="utf-8") as f:
    f.write("hello")

如果要在with代码块外部访问文件的内容,可将文件各行存储在一个列表中。

with open(filename,"r",encoding="utf-8") as f:
    lines=f.readlines()
for line in lines:
    print(line)

五、实践

编写一个程序,让用户输入名字、年龄、最喜欢的颜色和最喜欢的食物。

程序要把所有这四项保存在一个文本文件中,每一项分别放在单独的一行上。

name=input("Enter your name:")
age=input("Enter your age:")
color=input("Enter your favorite color:")
food=input("Enter your favorite food:")
with open("mydate.txt","w") as f:
    f.write(name+"\n")
    f.write(age+"\n")
    f.write(color+"\n")
    f.write(food+"\n")

L7-1 文本处理

标签:类型   code   mode   硬盘   world   间接   country   关闭   这一   

原文地址:https://www.cnblogs.com/xiaoxiao-ya/p/12051733.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!