文件操作

  • 1.文本文件和二进制文件
  • 2.文件操作相关模块概述
  • 3.创建文件对象
  • 4.文本文件的写入
    • 4.1基本的文件写入操作
  • 5.常用编码介绍
    • 5.1 ASCII
    • 5.2 ISO8859-1
    • 5.3 GB2312
    • 5.4 GBK
    • 5.5 GB18030
    • 5.6 Unicode
    • 5.7 UTF-8
  • 6.中文乱码问题
  • 7.数据写入
  • 8.close()关闭文件流
  • 9.with 语句(上下文管理器)
  • 10.文本文件的读取
  • 11.二进制文件的读取和写入
  • 12.文件对象的常用属性和方法
  • 13.文件任意位置操作
  • 14.使用 pickle 序列化
  • 15.CSV 文件的操作
    • 15.1csv.reader 对象和 csv 文件读取
    • 15.2csv.writer 对象和 csv 文件写入
  • 16.os 和 os.path 模块
    • 16.1os 模块-调用操作系统命令
      • 16.1.1 os.system 可以帮助我们直接调用系统的命令:
      • 16.1.2 os.startfile:直接调用可执行文件
    • 16.2os 模块-文件和目录操作
    • 16.3os.path 模块
    • 16.4walk()递归遍历所有文件和目录
  • 17.shutil 模块(拷贝和压缩)

1.文本文件和二进制文件

1. 文本文件
文本文件存储的是普通“字符”文本,python 默认为 unicode 字符集(两个字节表示一个字符,最多可以表示:65536 个),可以使用记事本程序打开。但是,像 word 软件编辑的文档不是文本文件。
2. 二进制文件
二进制文件把数据内容用“字节”进行存储,无法用记事本打开。必须使用专用的软件解码。常见的有:MP4 视频文件、MP3 音频文件、JPG 图片、doc 文档等等。

2.文件操作相关模块概述

名称 说明
io 模块 文件流的输入和输出操作 input output
os 模块 基本操作系统功能,包括文件操作
glob 模块 查找符合特定规则的文件路径名
fnmatch 模块 使用模式来匹配文件路径名
fileinput 模块 处理多个输入文件
filecmp 模块 用于文件的比较
cvs 模块 用于 csv 文件处理
pickle 和 cPickle 用于序列化和反序列化
xml 包 用于 XML 数据处理
bz2、gzip、zipfile、zlib、tarfile 用于处理压缩和解压缩文件(分别对应不同的算法)

3.创建文件对象

open()函数用于创建文件对象,基本语法格式如下:

open(文件名[,打开方式])

如果只是文件名,代表在当前目录下的文件。文件名可以录入全路径,比如:D:\a\b.txt。为了减少“\”(转义字符)的输入,可以使用原始字符串:r“d:\b.txt”。示例如下:

f = open(r"d:\b.txt","w")

打开方式有如下几种:

模式 描述
r 读 read 模式
w 写 write 模式。如果文件不存在则创建;如果文件存在,则重写新内容;
a 追加 append 模式。如果文件不存在则创建;如果文件存在,则在文件末尾追加内容
b 二进制 binary 模式(可与其他模式组合使用)
+ 读、写模式(可与其他模式组合使用)

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

4.文本文件的写入

4.1基本的文件写入操作

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

  1. 创建文件对象
  2. 写入数据
  3. 关闭文件对象

文本写入操作简单测试:

f = open(r"a.txt","a")
s = "天王盖地虎\n宝塔镇河妖"
f.write(s)
f.close()执行结果:#a.txt文件中显示天王盖地虎宝塔镇河妖

5.常用编码介绍

常用编码之间的关系如下:

5.1 ASCII

全称为 American Standard Code for Information Interchange,美国信
息交换标准代码,这是世界上最早最通用的单字节编码系统,主要用来显示现代英语及其他西欧语言。
ASCII 码用 7 位表示,只能表示 128 个字符。只定义了 2 7 =128 个字符,用7bit 即可完全编码,而一字节 8bit 的容量是 256,所以一字节 ASCII 的编码最高位总是 0。
0~31 表示控制字符如回车、退格、删除等;32~126 表示打印字符即可以
通过键盘输入并且能显示出来的字符;其中 48~57 为 0 到 9 十个阿拉伯数字,65~90 为 26 个大写英文字母,97~122 号为 26 个小写英文字母,其余为一些标点符号、运算符号等,具体可以参考 ASCII 标准表(大家自行百度,不在此赘述)。

5.2 ISO8859-1

ISO-8859-1 又称 Latin-1,是一个 8 位单字节字符集,它把 ASCII 的最高
位也利用起来,并兼容了 ASCII,新增的空间是 128,但它并没有完全用完。在 ASCII 编码之上又增加了西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号,它是向下兼容 ASCII 编码。

5.3 GB2312

GB2312 全称为信息交换用汉字编码字符集,是中国于 1980 年发布,主要
用于计算机系统中的汉字处理。GB2312 主要收录了 6763 个汉字、682 个符号。
GB2312覆盖了汉字的大部分使用率,但不能处理像古汉语等特殊的罕用字,
所以后来出现了像 GBK、GB18030 这种编码。

5.4 GBK

全称为 Chinese Internal Code Specification,即汉字内码扩展规范,于 1995 年制定。它主要是扩展了 GB2312,在它的基础上又加了更多的汉字,它一共收录了 21003 个汉字。

5.5 GB18030

现在最新的内码字集于 2000 年发布,并于 2001 年强制执行,包含了中国大部分少数民族的语言字符,收录汉字数超过 70000 余个。
它主要采用单字节、双字节、四字节对字符编码,它是向下兼容 GB2312 和 GBK 的,虽然是我国的强制使用标准,但在实际生产中很少用到,用得最多的反而是 GBK 和 GB2312。

5.6 Unicode

Unicode 编码设计成了固定两个字节,所有的字符都用 16 位(2^16=65536)
表示,包括之前只占 8 位的英文字符等,所以会造成空间的浪费UNICODE 在很长的一段时间内都没有得到推广应用。
Unicode 完全重新设计,不兼容 iso8859-1,也不兼容任何其他编码。

5.7 UTF-8

对于英文字母,unicode 也需要两个字节来表示。所以 unicode 不便于传输和存储。因此而产生了 UTF 编码,UTF-8 全称是(8-bit Unicode
Transformation Format)。UTF 编码兼容 iso8859-1 编码,同时也可以用来表示所有语言的字符,不过,UTF 编码是不定长编码,每一个字符的长度从 1-4 个字节不等。其中,英文字母都是用一个字节表示,而汉字使用三个字节。

一般项目都会使用 UTF-8。unicode 中虽然汉字是两个字节,UTF-8 中汉字是 3 个字节。但是互联网中一个网页也包含了大量的英文字母,这些英文字母只占用 1 个字节,整体占用空间,UTF-8 仍然优于 Unicode。

6.中文乱码问题

windows 操作系统默认的编码是 GBK,Linux 操作系统默认的编码是 UTF-8。当我们用 open()时,调用的是操作系统打开的文件,默认的编码是GBK。

7.数据写入

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

数据写入举例:

f = open(r'a.txt', 'a')
s = ['\nhello world\n', '黄河之水天上来\n', 'python\n']
f.writelines(s)
f.close()执行结果:#a.txt文件中显示hello world黄河之水天上来python

8.close()关闭文件流

由于文件底层是由操作系统控制,所以我们打开的文件对象必须显式调用 close()方法关闭文件对象。当调用 close()方法时,首先会把缓冲区数据写入文件(也可以直接调用 flush()方法),再关闭文件,释放文件对象。

为了确保打开的文件对象正常关闭,一般结合异常机制的 finally 或者 with 关键字实现无论何种情况都能关闭打开的文件对象。

结合异常机制 finally 确保关闭文件对象:

try:f = open(r"a.txt","a")str = "hello world"f.write(str)
except BaseException as e:print(e)
finally:f.close()

9.with 语句(上下文管理器)

with 关键字(上下文管理器)可以自动管理上下文资源,不论什么原因跳出 with 块,都能确保文件正确的关闭,并且可以在代码块执行完毕后自动还原进入该代码块时的现场。

使用 with 管理文件写入操作:

str=['\nnice to meet you\n',"what doesn't kill you make you stronger\n"]
with open('a.txt','a') as f:f.writelines(str)执行结果:#a.txt文件中显示nice to meet youwhat doesn't kill you make you stronger

10.文本文件的读取

文件的读取一般使用如下三个方法:

  1. read([size])
    从文件中读取 size 个字符,并作为结果返回。如果没有 size 参数,则读取整个文件。读取到文件末尾,会返回空字符串。
  2. readline()
    读取一行内容作为结果返回。读取到文件末尾,会返回空字符串。
  3. readlines()
    文本文件中,每一行作为一个字符串存入列表中,返回该列表。
# 按字符读取
with open('a.txt', 'r') as f:print(f.read(12))
# 全部读取
with open('a.txt', 'r') as f:print(f.read())
# 按行读取
with open('a.txt', 'r') as f:print(f.readline())
# 按行读取整个文件
with open('a.txt', 'r') as f:while True:fragment = f.readline()if not fragment:breakprint(fragment)
# 使用迭代器读取整个文件
with open('a.txt', 'r') as f:for fragment in f:print(fragment)
# 读取整个文件,返回字符串列表
with open('a.txt', 'r') as f:listf = f.readlines()print(listf)
#给文件行首加上行号
with open('a.txt', 'r') as f:lines = f.readlines()lines = ['#' + str(index + 1) + line.lstrip() for index, line in enumerate(lines)]print(lines)

11.二进制文件的读取和写入

二进制文件的处理流程和文本文件流程一致。首先还是要创建文件对象,不过,我们需要指定二进制模式,从而创建出二进制文件对象。例如:

f = open(r"d:\a.txt", 'wb') #可写的、重写模式的二进制文件对象
f = open(r"d:\a.txt", 'ab') #可写的、追加模式的二进制文件对象
f = open(r"d:\a.txt", 'rb') #可读的二进制文件对象

创建好二进制文件对象后,仍然可以使用 write()、read()实现文件的读写操作。

读取图片文件,实现文件的拷贝:

with open('aa.jpg', 'rb') as f:
with open('aa_copy.jpg', 'wb') as w:for line in f.readlines():w.write(line)
print('图片拷贝完成!')

12.文件对象的常用属性和方法

文件对象封装了文件相关的操作。在前面我们学习了通过文件对象对文件进行读写操作。本节我们详细列出文件对象的常用属性和方法,并进行说明。

文件对象的属性

属性 说明
name 返回文件的名字
mode 返回文件的打开模式
closed 若文件被关闭则返回 True

文件对象的打开模式

模式 说明
r 读模式
w 写模式
a 追加模式
b 二进制模式(可与其他模式组合)
+ 读写模式(可以其他模式组合)

文件对象的常用方法

方法名 说明
read([size]) 从文件中读取 size 个字节或字符的内容返回。若省略[size],则读取到文件末尾,即一次读取文件所有内容
readline() 从文本文件中读取一行内容
readlines() 把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回
write(str) 将字符串 str 内容写入文件
writelines(s) 将字符串列表 s 写入文件文件,不添加换行符
seek(offset [,whence]) 把文件指针移动到新的位置,offset 表示相对于 whence 的多少个字节的偏移量;【1】offset:off 为正往结束方向移动,为负往开始方向移动 【2】whence 不同的值代表不同含义:0: 从文件头开始计算(默认值)1:从当前位置开始计算2:从文件尾开始计算
tell() 返回文件指针的当前位置
truncate([size]) 不论指针在什么位置,只留下指针前 size 个字节的内容,其余全部删除;如果没有传入 size,则当指针当前位置到文件末尾内容全部删除
flush() 把缓冲区的内容写入文件,但不关闭文件
close() 把缓冲区内容写入文件,同时关闭文件,释放文件对象相关资源

13.文件任意位置操作

使用seek()方法的时候,读取文件应以 ‘rb’ (二进制文件方式)读取

with open('a.txt','rb') as f:print("文件名是:{0}".format(f.name))print("文件指针当前位置:{0}".format(f.tell()))print("读取的内容是:{0}".format(f.readline()))print("文件指针位置:{0}".format(f.tell()))f.seek(-5,2)print("文件指针当前位置:{0}".format(f.tell()))print("读取的内容是:{0}".format(f.readline()))

14.使用 pickle 序列化

Python 中,一切皆对象,对象本质上就是一个“存储数据的内存块”。有时候,我们需要将“内存块的数据”保存到硬盘上,或者通过网络传输到其他的计算机上。这时候,就需要“对象的序列化和反序列化”。 对象的序列化机制广泛的应用在分布式、并行系统上。

序列化指的是:将对象转化成“串行化”数据形式,存储到硬盘或通过网络传输到其他地方。反序列化是指相反的过程,将读取到的“串行化数据”转化成对象。

我们可以使用 pickle 模块中的函数,实现序列化和反序列操作。

序列化我们使用:
pickle.dump(obj, file) obj 就是要被序列化的对象,file 指的是存储的文件
pickle.load(file) 从 file 读取数据,反序列化成对象

将对象序列化到文件中:

import picklewith open("b.txt", 'wb') as f:a1 = 'hello'a2 = 'world'a3 = [12, 132, 'jfkdaj']pickle.dump(a1, f)pickle.dump(a2, f)pickle.dump(a3, f)

将获得的数据反序列化成对象:

import picklewith open("b.txt", 'rb') as f:a1 = pickle.load(f)a2 = pickle.load(f)a3 = pickle.load(f)print(a1)print(a2)print(a3)

15.CSV 文件的操作

csv (Comma Separated Values) 是逗号分隔符文本格式,常用于数据交换、Excel文件和数据库数据的导入和导出。 与 Excel 文件不同,CSV 文件中:

  1. 值没有类型,所有值都是字符串
  2. 不能指定字体颜色等样式
  3. 不能指定单元格的宽高,不能合并单元格
  4. 没有多个工作表
  5. 不能嵌入图像图表

15.1csv.reader 对象和 csv 文件读取

import csv
with open(r'a.csv') as b:b_csv=csv.reader(b)header=next(b_csv)print(header)for row in b_csv:print(row)

15.2csv.writer 对象和 csv 文件写入

import csv
header=["工号","姓名","年龄"]
rows=[("1001","刘备","22"),("1002","关羽","19"),("1003","张飞","18")]
with open(r'a.csv','w') as a:a_csv=csv.writer(a)a_csv.writerow(header)a_csv.writerows(rows)

16.os 和 os.path 模块

os 模块可以帮助我们直接对操作系统进行操作。我们可以直接调用操作系统的可执行文件、命令,直接操作文件、目录等等。在系统运维的核心基础。

16.1os 模块-调用操作系统命令

16.1.1 os.system 可以帮助我们直接调用系统的命令:

os.system 调用 windows 系统的记事本程序:

import os
os.system("notepad.exe")

os.system 调用 windows 系统中 ping 命令:

import os
os.system("ping www.baidu.com")

16.1.2 os.startfile:直接调用可执行文件

运行安装好的微信:

import os
os.startfile(r"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe")

16.2os 模块-文件和目录操作

可以通过前面讲的文件对象实现对于文件内容的读写操作。如果,还需要对文件和目录做其他操作,可以使用 os 和 os.path 模块。

os 模块下常用操作文件的方法:

方法名 描述
remove(path) 删除指定的文件
rename(src,dest) 重命名文件或目录
stat(path) 返回文件的所有属性
listdir(path) 返回 path 目录下的文件和目录列表

os 模块下关于目录操作的相关方法,汇总如下:

方法名 描述
mkdir(path) 创建目录
makedirs(path1/path2/path3/…) 创建多级目录rmdir(path) 删除目录
removedirs(path1/path2…) 删除多级目录
getcwd() 返回当前工作目录:current work dir
chdir(path) 把 path 设为当前工作目录
walk() 遍历目录树
sep 当前操作系统所使用的路径分隔符

os 模块:创建、删除目录、获取文件信息等:

import os
#############获取文件和文件夹相关的信息################
print(os.name) #windows->nt linux 和 unix->posix
print(os.sep) #windows->\ linux 和 unix->/
print(repr(os.linesep)) #windows->\r\n linux-->\n\
print(os.stat("my02.py"))
##############关于工作目录的操作###############
#print(os.getcwd())
#os.chdir("d:") #改变当前的工作目录为:d:盘根目录
#os.mkdir("书籍")
################创建目录、创建多级目录、删除#############
#os.mkdir("书籍")
#os.rmdir("书籍") #相对路径都是相对于当前的工作目录
#os.makedirs("电影/港台/周星驰")
#os.removedirs("电影/港台/周星驰") #只能删除空目录
#os.makedirs("../音乐/香港/刘德华") #../指的是上一级目录
#os.rename("电影","movie")
dirs = os.listdir("movie")
print(dirs)

16.3os.path 模块

os.path 模块提供了目录相关(路径判断、路径切分、路径连接、文件夹遍历)的操作:

方法 描述
isabs(path) 判断 path 是否绝对路径
isdir(path) 判断 path 是否为目录
isfile(path) 判断 path 是否为文件
exists(path) 判断指定路径的文件是否存在
getsize(filename) 返回文件的大小
abspath(path) 返回绝对路径
dirname§ 返回目录的路径
getatime(filename) 返回文件的最后访问时间
getmtime(filename) 返回文件的最后修改时间
walk(top,func,arg) 递归方式遍历目录
join(path,*paths) 连接多个 path
split(path) 对路径进行分割,以列表形式返回
splitext(path) 从路径中分割文件的扩展名

测试 os.path 中常用方法:

import os
import os.path
#################获得目录、文件基本信息
######################
print(os.path.isabs("d:/a.txt")) #是否绝对路径
print(os.path.isdir("d:/a.txt")) #是否目录
print(os.path.isfile("d:/a.txt")) #是否文件
print(os.path.exists("a.txt")) #文件是否存在
print(os.path.getsize("a.txt")) #文件大小
print(os.path.abspath("a.txt")) #输出绝对路径
print(os.path.dirname("d:/a.txt")) #输出所在目录
########获得创建时间、访问时间、最后修改时间##########
print(os.path.getctime("a.txt")) #返回创建时间
print(os.path.getatime("a.txt")) #返回最后访问时间
print(os.path.getmtime("a.txt")) #返回最后修改时间
################对路径进行分割、连接操作####################
path = os.path.abspath("a.txt") #返回绝对路径
print(os.path.split(path)) #返回元组:目录、文件
('C:\\Users\\Administrator\\PycharmProjects\\mypro_io\\test_os', 'a.txt')
print(os.path.splitext(path)) #返回元组:路径、扩展名
('C:\\Users\\Administrator\\PycharmProjects\\mypro_io\\test_os\\a',
'.txt')
print(os.path.join("aa","bb","cc")) #返回路径:aa/bb/cc

列出指定目录下所有的.py 文件,并输出文件名:

import os
import os.path
path = os.getcwd()
file_list = os.listdir(path) #列出子目录和子文件
for filename in file_list:pos = filename.rfind(".")if filename[pos+1:]=="py":print(filename,end="\t")print("##################")
file_list2 = [filename for filename in os.listdir(path) if filename.endswith(".py") ]
for filename in file_list2:print(filename,end="\t")

16.4walk()递归遍历所有文件和目录

os.walk()方法:
返回一个 3 个元素的元组,(dirpath, dirnames, filenames),dirpath:要列出指定目录的路径dirnames:目录下的所有文件夹filenames:目录下的所有文件
import os
all_files = []
path = os.getcwd()
list_files = os.walk(path)
for dirpath,dirnames,filenames in list_files:for dir in dirnames:all_files.append(os.path.join(dirpath,dir))for name in filenames:all_files.append(os.path.join(dirpath,name))
for file in all_files:print(file)执行结果:D:\人工智能课程\PycharmProjects\MyDemo\Day1\a.csvD:\人工智能课程\PycharmProjects\MyDemo\Day1\a.txtD:\人工智能课程\PycharmProjects\MyDemo\Day1\aa.JPGD:\人工智能课程\PycharmProjects\MyDemo\Day1\b.txtD:\人工智能课程\PycharmProjects\MyDemo\Day1\classdemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\classinherit.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\copy.JPGD:\人工智能课程\PycharmProjects\MyDemo\Day1\csvdemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\demo1.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\demo2.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\errordemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\errordemo2.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\fileoperation.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\object.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\osdemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\pickledemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\turtledemo.py

17.shutil 模块(拷贝和压缩)

shutil 模块是 python 标准库中提供的,主要用来做文件和文件夹的拷贝、移动、删除等;还可以做文件和文件夹的压缩、解压缩操作。

os 模块提供了对目录或文件的一般操作。shutil 模块作为补充,提供了移动、复制、压缩、解压等操作,这些 os 模块都没有提供。

实现文件的拷贝:

import shutil
#copy 文件内容
shutil.copyfile("1.txt","1_copy.txt")

实现递归的拷贝文件夹内容(使用 shutil 模块):

import shutil
#"音乐"文件夹不存在才能用。
shutil.copytree("电影/学习","音乐",ignore=shutil.ignore_patterns("*.html","*.htm"))#将文件夹“电影/学习”下面的内容拷贝到文件夹“音乐”下。拷贝时忽略所有的 html 和 htm 文件。

实现将文件夹所有内容压缩(使用 shutil 模块):

import shutil
import zipfile
#将"电影/学习"文件夹下所有内容压缩到"音乐 2"文件夹下生成 movie.zip
#shutil.make_archive("音乐 2/movie","zip","电影/学习")
#压缩:将指定的多个文件压缩到一个 zip 文件
#z = zipfile.ZipFile("a.zip","w")
#z.write("1.txt")
#z.write("2.txt")
#z.close()

实现将压缩包解压缩到指定文件夹(使用 shutil 模块):

import shutil
import zipfile
#解压缩:
z2 = zipfile.ZipFile("a.zip","r")
z2.extractall("d:/") #设置解压的地址
z2.close()

使用递归算法遍历目录下所有文件:

import os
allfile = []
def getFiles(path,level):childFiles = os.listdir(path)for file in childFiles:filepath = os.path.join(path,file)if os.path.isdir(filepath):getFiles(filepath,level+1)allfile.append("\t"*level+filepath)
getFiles(os.getcwd(),0)
for f in reversed(allfile):print(f)执行结果:D:\人工智能课程\PycharmProjects\MyDemo\Day1\turtledemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\pickledemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\osdemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\object.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\fileoperation.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\errordemo2.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\errordemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\demo2.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\demo1.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\csvdemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\copy.JPGD:\人工智能课程\PycharmProjects\MyDemo\Day1\classinherit.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\classdemo.pyD:\人工智能课程\PycharmProjects\MyDemo\Day1\b.txtD:\人工智能课程\PycharmProjects\MyDemo\Day1\aa.JPGD:\人工智能课程\PycharmProjects\MyDemo\Day1\a.txtD:\人工智能课程\PycharmProjects\MyDemo\Day1\a.csv

Python基础知识十二【文件操作】相关推荐

  1. 2021-09-08 python基础知识学习:文件操作和os模块

    文章目录 1.文件操作(IO技术) (1)打开文件 (2)编码 (3)close()关闭文件流 (4)文本文件读取 (5)二进制文件的读写 (6)文件对象常用的方法和属性 (7)使用pickle序列化 ...

  2. Python基础(十)--文件相关

    目录 Python基础(十)--文件相关 1 读写文件 1.1 获取文件对象 1.2 文件读取 1.3 文件写入 1.4 文件定位 2 文件与路径的操作 2.1 os模块 2.2 os.path模块 ...

  3. python基础(十二):字符字节编码解码

    基础(十二) 字符串概述 类型 编码架构 字符串存储 常用字符编码 ASCII latin-1 UTF-8(通用性更好) UTF-16 UTF-32 内置函数 ord() chr() str.enco ...

  4. Python内置十大文件操作

    日常对于批量处理文件的需求非常多,经常需要用Python写脚本调用外部文件! 本次整理Python中最常用的十大文件操作方法,直接拿来用就行啦! 01 创建和打开文件 想要操作文件需要先创建或代开指定 ...

  5. Python基础(十三)——文件操作(open函数、close函数)

    本文以Python3以上为学习基础. 目录 1. 使用文件操作第一原则 2.open函数 2.1.文件打开模式 2.1.1.只读模式打开文件--只读(r) 2.1.2.读写模式打开文件--读写模式(r ...

  6. 享学课堂python基础学习day15之文件操作

    我是一个22年8月加入享学课堂的学生,主要学习python基础和爬虫课程,学到现在,发现以前的学习知识容易忘记,听了老师的建议之后,决定在CSDN写博客,可以复习自己学过的知识,废话不多说,文件操作里 ...

  7. Python基础:集合与文件操作

    集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系 ...

  8. Python基础(三)文件操作和处理json

    文件操作步骤:1.有一个文件,2.打开文件,3.读写修改文件,4.关闭文件 一.有一个文件:新建或导入文件 二.打开文件:如果是新建的文件默认和py文件在同一个目录:如果是打开文件,要将文件放在py同 ...

  9. VBA基础知识整理(文件操作)

    文件操作 '1 判断A.Xls文件是否存在 Sub W1()If Len(Dir("d:/A.xls")) = 0 ThenMsgBox "A文件不存在"Els ...

最新文章

  1. Mysql:AVG()函数如何去除0值做平均值
  2. (10) ejb学习: Jpa的JTA事务和RESOURCE_LOCAL事务
  3. 京东白条要上征信了!你用还是不用
  4. 嵌入式linux添加环境变量,Linux环境变量
  5. java 学习书籍 转载
  6. 全面、详细的前端组件库
  7. 我是 Spring 菜鸟 -- 初始化方法 TODO
  8. 为什么农产品电商不好做
  9. RabbitMQ WEB管理端
  10. STL vector使用方法介绍
  11. iphone苹果手机如何连接电脑进行投屏?
  12. ACID--事务四大特性
  13. 第二章 从优化业务流程谈信息集成的必要性
  14. Win10 1809版本多用户远程登陆
  15. JS基础-循环精灵图
  16. 【小程序】小程序托管平台的功能展望与想法
  17. Android Camera2 CameraCharacteristics Key 详细解说
  18. 基于JavaFX的扫lei小游戏
  19. 《怪诞行为学》精粹(一)--为什么我们喜欢比较和攀比
  20. mysql语法大全和jdbc知识汇总

热门文章

  1. Premiere快速图片旅游照片切换展示AE模板MOGRT
  2. 美团监控系统mysql_美团开源监控Cat安装与使用
  3. 联想2015云计算大数据实习生面试题
  4. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java果蔬信息网站25890
  5. 【MIG专项测试组】如何准确评测Android应用的流畅度?
  6. 《新侠客英雄传XP》通关简易攻略
  7. 【免费超简单】班级专用抽奖点名系统支持语音报名等老师再也不用担心上课没趣味了
  8. 2021高续航游戏蓝牙耳机品牌推荐,延迟低于40ms专业游戏蓝牙耳机
  9. H5性能优化与体验优化——极致篇
  10. JS 正则表达式验证邮箱(含注释)