Python3操作文件系列(一):判断文件|目录是否存在三种方式
Python3操作文件系列(二):文件数据读写|二进制数据读写
Python3数据文件读取与写入
一: 文件数据|二进制数据读写
import os"""Python3的open(file,mode="文件的操作模式")利用该函数可以对文件和二进制文件进行只读,只写,读/写和追加等操作 """ pathFile = '../dataanalysis/file/fileData.txt' try:if os.path.exists(pathFile):with open(pathFile, "w") as file:file.write("你好,老杨,欢迎来到Python3操作文件的世界!")print("数据已成功写入 %s 文件!" % pathFile)else:print("文件: %s 不存在,下面将为你创建文件...........")# 创建文件,mode = w 才会创建不存在的文件with open(pathFile, 'w') as f:print("文件创建成功!") except IOError as err:print("系统错误: ", err)print("-----------------一次写入多行数据--------------------")try:with open(pathFile, 'w') as f:f.writelines(['Python3 这是第一行数据.....\n', 'Mongodb这是第二行数据....'])print("数据已写入") except IOError as err:print("系统异常: ", err) print() print("----------------------------读取文件的内容----------------------")try:with open(pathFile, 'r') as file:content = file.read()print("读到文件内容: %s" % content)print()print("输出内容后,文件指针已经只写末位,故下面无内容输出")print("读起10个字符: ", file.readline(5)) except IOError as err:print("系统异常: ", err)try:with open(pathFile, 'r') as file:print()print("读起10个字符: ", file.readline(6)) except IOError as err:print("系统异常: ", err)try:with open(pathFile, 'r') as file:print()print("读起多行内容(设置只读一行): ", file.readlines(1))print("读起多行内容(默认读取所有的行:): ", file.readlines()) except IOError as err:print("系统异常: ", err) binaryPath = "../dataanalysis/file/binaryData.cad"try:with open(pathFile, 'a+') as f:f.writelines(['Python3 这是第一行数据.....\n','Mongodb这是第二行数据....','Python3 这是第一行数据.....\n','Python3 这是第一行数据.....\n','Python3 这是第一行数据.....\n'])print("数据已写入") except IOError as err:print("系统异常: ", err) try:with open(pathFile, 'r') as file:print()for line in file.readlines(-1):print("读取文件所有行: ", line) except IOError as err:print("系统异常: ", err)print('-------------------读写二进制文件数据----------------------') try:with open(binaryPath, 'wb') as file:# 用字符串表示坐标数据,转换为字节流,吸入文件# 注意数据之间用空格进行分隔file.write(bytes(('100000 ' + '10 ' + '20 ' + '29 ' + '22 ' + '30'), 'utf-8')) except IOError as err:print("系统异常: ", err) print("读取二进制文件") try:with open(binaryPath, 'rb') as file:line = file.read().decode("utf-8")lines = line.split(" ")for item in lines:print("存入文件的二进制项为: ", item)except IOError as err:print("系统异常: ", err)
二: 文件数据|二进制数据读写运行效果
D:\program_file_worker\anaconda\python.exe D:\program_file_worker\python_source_work\SSO\grammar\file\FileReadOperationByOpen.py
数据已成功写入 ../dataanalysis/file/fileData.txt 文件!
-----------------一次写入多行数据--------------------
数据已写入----------------------------读取文件的内容----------------------
读到文件内容: Python3 这是第一行数据.....
Mongodb这是第二行数据....输出内容后,文件指针已经只写末位,故下面无内容输出
读起10个字符:读起10个字符: Python
读起多行内容(设置只读一行): ['Python3 这是第一行数据.....\n']
读起多行内容(默认读取所有的行:): ['Mongodb这是第二行数据....']
数据已写入读取文件所有行: Python3 这是第一行数据.....
读取文件所有行: Mongodb这是第二行数据....Python3 这是第一行数据.....
读取文件所有行: Mongodb这是第二行数据....Python3 这是第一行数据.....
读取文件所有行: Python3 这是第一行数据.....
读取文件所有行: Python3 这是第一行数据.....
-------------------读写二进制文件数据----------------------
读取二进制文件
存入文件的二进制项为: 100000
存入文件的二进制项为: 10
存入文件的二进制项为: 20
存入文件的二进制项为: 29
存入文件的二进制项为: 22
存入文件的二进制项为: 30Process finished with exit code 0