栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python

目录
  • 前言
  • 一、文件的分类
    • 1.文本文件
    • 2.二进制文件
  • 二、文件操作的引用模块
  • 三、创建文件对象
  • 三、文本文件的写入
  • 四、文件读取
    • 1.文件读取的模式:
  • 五、CSV文件的读取和写入

前言 一、文件的分类 1.文本文件

文本文件存储的是普通**“字符”**文本,python 默认为 unicode 字符集(两个字节表示一个字符,最多可以表示:65536 个),可以使用记事本程序打开。但是,像 word 软件编辑的文档不是文本文件

2.二进制文件

二进制文件把数据内容用“字节”进行存储,无法用记事本打开。必须使用专用的软件解码。常见的有:MP4 视频文件、MP3 音频文件、JPG 图片、doc 文档等

二、文件操作的引用模块

三、创建文件对象

open()函数用于创建文件对象,基本语法格式如下:
open(文件名[,打开方式])
如果只是文件名,代表在当前目录下的文件。文件名可以录入全路径,比如:D:ab.txt。

代码如下(示例):(简略版)

with open(r"cece.txt","r",encoding="utf-8") as f:
    for a in f:
        print(a,end="")

二进制文件和文本文件最大的区别是:如果我们没有增加模式“b”,则默认创建的是文本文件对象,处理的基本单元是“字符”。如果是二进制模式“b”,则创建的是二进制文件对象,处理的基本单元是“字节”。

with open ("说明.docx","rb") as f:
    with open("说明_copy.docx","wb") as w:
        for line in f.readlines():
            w.write(line)
print("文件copy成功")
三、文本文件的写入

文本文件的写入一般就是三个步骤:

  1. 创建文件对象
  2. 写入数据
  3. 关闭文件对象
代码如下(示例):
f= open(r"F:1崔测试.txt","a")
s="创建对象,写入对象,关闭对象"
f.write(s)
f=open(r"F:1崔测试.txt","r")
content=f.read()
print(content)
f.close()

==write()/writelines()==写入数据
write(a):把字符串 a 写入到文件中
writelines(b):把字符串列表写入文件中,不添加换行符

f = open(r"d:bb.txt","w",encoding="utf-8")
s = ["高淇n","高老三n","高老四n"]
f.writelines(s)
f.close()
##执行结果:
高淇
高老三
高老四
四、文件读取 1.文件读取的模式:
  1. read([size])
    从文件中读取 size 个字符,并作为结果返回。如果没有 size 参数,则读取整个文件。
    读取到文件末尾,会返回空字符串。
  2. readline()只会读取一行
    读取一行内容作为结果返回。读取到文件末尾,会返回空字符串。
  3. readlines()
    文本文件中,每一行作为一个字符串存入列表中,返回该列表
    【操作】 读取一个文件前 4 个字
with open(r"bb","r",encoding="utf-8") as f:
print(f.read(4))

【操作】文件较小,一次将文件内容读入到程序中

with open(r"d:bb.txt","r") as f:
print(f.read())

【操作】按行读取一个文件

with open(r"bb.txt","r") as f:
while True:
fragment = f.readline()
if not fragment:
break
else:
print(fragment,end="")
###为文本文件每一行的末尾增加行号
with open("e.txt","r",encoding="utf-8") as f:
lines = f.readlines()
lines = [ line.rstrip()+" #"+str(index+1)+"n" for index,line in
enumerate(lines)] #推导式生成列表
with open("e.txt","w",encoding="utf-8") as f:
f.writelines(lines)




执行程序后文件内容:
我 love u! #1
尚学堂 #2
百战程序员 #3
五、CSV文件的读取和写入
import csv
#header=["姓名","性别","年龄","工资"]
#row1=["博凡","女","24","10k"]
#rows=[("Jessica","女","31","100k"),("Krystal","女","26","100k"),("郑氏姐妹","女","28","200k")]
#with open ("csv_文件的读取和写入.csv","w",newline="") as f:#将newline=""可以减少写入csv文件时的空行
    #f_csv=csv.writer(f)#创建一个csv 对象,
    #f_csv.writerow(header)#写入一行数据,用writerow,但是需要写入的对象是列表
    #f_csv.writerow(row1)
    #f_csv.writerows(rows)#写入多行数据,用writerows,但是需要写入的对象是列表
with open("csv_文件的读取和写入.csv","r") as r:
    r_csv=csv.reader(r)#创建一个csv对象,它是包含所有数据的列表,每一行为一个元素
    header_r=next(r_csv)#获得列表对象;包含标题行的信息
    print(header_r)


    for row in r_csv:
        print(row)
        ```

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/833821.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号