Python3操作文件系列(二):文件数据读写|二进制数据读写

news2024/12/23 22:36:11


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
存入文件的二进制项为:  30

Process finished with exit code 0
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1067246.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TensorFlow入门(九、张量及操作函数介绍)

在TensorFlow程序中,所有的数据都由tensor数据结构来代表。即使在计算图中,操作间传递的数据也是Tensor tensor在TensorFlow中并不是直接采用数组的形式,它只是对TensorFlow中计算结果的引用。也就是说在张量中并没有真正保存数字,它保存的是如何得到这些数字的计算过程 一个…

【轻松玩转MacOS】常用软件篇

引言 在本篇文章中,我将介绍如何安装和使用一些常用的软件,如Safari浏览器、邮件、日历、地图等。让我们一起来看看吧! 一、Safari浏览器 Safari是MacOS自带的浏览器,具有简洁、快速、安全的特点。 以下是一些Safari浏览器的使…

蛋仔派对如何获得蛋币,蛋仔派对怎么切换账号

在蛋仔派对游戏中,蛋币是一种虚拟货币,用以购买游戏道具或提升游戏体验。以下是五种可能的获得蛋币的方式: 关注【娱乐天梯】,获取内部福利号 1. 完成挑战和任务:玩家可以通过完成不同类型的任务和挑战来获取蛋币。任务…

根据前序与中序遍历结果构造二叉树

文章前言:如果不知道什么是前序与中序的小白同学,作者推荐:二叉树的初步认识_加瓦不加班的博客-CSDN博客 思路: 先通过前序遍历结果定位根节点 再结合中序遍历结果切分左右子树 public class E09Leetcode105 {//1. pre-order 前…

练[BJDCTF2020]The mystery of ip

[BJDCTF2020]The mystery of ip 文章目录 [BJDCTF2020]The mystery of ip掌握知识解题思路关键paylaodsmarty可利用paylaod 掌握知识 ​ ssti里的php语言smarty模板注入 解题思路 访问题目链接,发现导航条的flag和hint两个吸引人的题目,先查看flag发现…

方法内改变形参引用影响实参问题详解

方法内修改形参引用问题详解 一、问题描述二、解答三、结论 一、问题描述 方法内型参指向新建的对象是否会影响实参的引用呢? 我们看下面的例子 由图中我们可以看到,在main函数创建了一个新的ArrayList对象,并调用了print函数实现了对该对象…

Maven 下载安装配置

Maven 下载安装配置 下载 maven maven 官网:https://maven.apache.org/ maven 下载页面:https://maven.apache.org/download.cgi 安装 maven 将下载的apache-maven.zip文件解压到安装目录 将加压后的apache-maven目录改名为maven maven 配置环…

基于粒子群优化算法、鲸鱼算法、改进的淘沙骆驼模型算法(PSO/SSA/tGSSA)的微电网优化调度(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

JavaScript系列从入门到精通系列第十九篇:JavaScript中的this关键字

文章目录 前言 一:什么是this 二:this的灵活妙用 前言 function fun(a,b){console.log(a b); }fun(1,2); 我们通过形参的形式往参数中添加了参数。浏览器也会默默的给我们传递一个参数过去,这个参数被称为this。传递的节点就是在调用函…

1984-2020年世界各国和地区ICRG政治经济金融风险指标数据

1984-2020年世界各国和地区ICRG政治经济金融风险指标数据 1、时间:1984-2020年、 2、指标: 主要包括政治风险、经济风险、金融风险,以及各个分指标数据, 具体指标: id、Country、year、Bureaucracy Quality (L)、…

Goby 漏洞发布|深信服下一代防火墙 loadfile.php 文件读取漏洞

漏洞名称:深信服下一代防火墙 loadfile.php 文件读取漏洞 English Name: Sangfor Next Generation Firewall loadfile.php file reading vulnerability CVSS core:7.5 影响资产数:281045 漏洞描述: 深信服下一代防火墙是一款…

由于找不到msvcp120.dll 无法继续执行怎么解决(最新方法分享)

在使用电脑的过程中,我们可能会遇到一些问题,比如丢失 msvcp120.dll 文件。这种情况会导致电脑运行出现问题,甚至无法正常启动。本文将详细介绍 msvcp120.dll 文件丢失对电脑的影响以及 msvcp120.dll 丢失的原因,并提供四种解决方…

jwt的基本介绍

说出我的悲惨故事给大家乐呵乐呵:公司刚来了一个实习生,老板让他写几个接口给我,我页面还没画完呢。他就把接口给我了,我敲开心,第一次见这么高效率的后端。但我很快就笑不出来了。他似乎不知道HTTP通信是无状态的。他…

Glide源码分析

一,Glide一次完整的加载流程 下面的流程图是一次完整的使用Glide加载图片流程,时序图 二,Glide重要的类图 三,Glide加载图片 流程图

C语言数据结构 1.1 初学数据结构

数据结构的基本概念 数据结构在学什么? 如何用程序代码把现实世界的问题信息化 如何用计算机高效处理信息从而创造价值 数据: 数据元素、数据项: 数据元素——描述一个个体 数据对象——数据元素之间具有同样的性质 同一个数据对象里的数…

3. 无重复字符的最长子串(枚举+滑动窗口)

目录 一、题目 二、代码 一、题目 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 二、代码 class Solution { public:int lengthOfLongestSubstring(string s) {int _MaxLength 0;int left 0, right 0;vector<int>hash(128, 0);//ASCII…

【iOS】——仿写计算器

文章目录 一、实现思路二、实现方法三、判错处理 一、实现思路 先搭建好MVC框架&#xff0c;接着在各个模块中实现各自的任务。首先要创建好UI界面&#xff0c;接着根据UI界面的元素来与数据进行互动&#xff0c;其中创建UI界面需要用到Masonry布局。 二、实现方法 在calcu…

糖基转移酶特异性 -bg

糖基转移酶特异性 大多数糖基转移酶对其供体和受体底物都具有高度的特异性&#xff0c;这导致Saul Roseman及其同事提出了“一种酶 - 一种连接”假说。人B血型α1-3半乳糖基转移酶就是这一概念的例证。该酶催化糖基化反应&#xff0c;其中半乳糖以α键添加到受体底物上半乳糖残…

[0xGame 2023] week1

整理一下&#xff0c;昨天该第二周了。今天应该9点结束提交&#xff0c;等我写完就到了。 PWN 找不到且不对劲的flag 第1题是个nc测试&#xff0c;但也不完全是&#xff0c;因为flag在隐含目录里 高端的syscall 程序使用了危险函数&#xff0c;并且没有canary阻止&#xff0…

后端解决跨域(极速版)

header(Access-Control-Allow-Origin: *); header(Access-Control-Allow-Methods:*); 代表接收全部的请求&#xff0c;"POST,GET"//允许访问的方式 指定域&#xff0c;如http://172.20.0.206//宝塔的域名&#xff0c;注意不是&#xff1a;http://wang.jingyi.icu等…