python 文件写入和异常

Python使用file.write写入文件后发现有^@或其他^T^M`A之类的符号,是怎么回事? 如何消除写入文件后的^@符号 背景:最近在做一些使用python解析二进制文件,并转换为csv文件的时候发现的这个问题。 原因:因为在python中内存结束符’\0’, 就是文本文件中的^@ 方法一:截取固定长度的str if type(bytes_data) == bytes: fp_w.write(str(bytes_data, encoding='utf-8')[0:9]) 方法二:使用string.strip(’\0’) if type(bytes_data) == bytes: fp 阅读详情

1、写入文件

filename = 'program.txt'
with open(filename, 'w') as f_obj: # 以写入模式('w')打开文件,若要写入的文件program.txt不存在,python将自动创建这个文件
    f_obj.write("I like the python.\n") # 方法write(),将一行字符串写入到文件中.方法write()不会在写入的文本末尾添加换行符,若你写多行,需要每行都分隔开,需要在写入的字符串后面添加换行符\n
    f_obj.write("I will try to learn python everyday.\n")

// 当你运行这个程序时,没有终端输出,但如果打开文件program.txt,将看到如下两行:
I like the python.
I will try to learn python everyday.

2、附加文件

filename = 'program.txt' # 这个文件已存在且包含两行字符串
with open(filename, 'a') as f_obj: # 附加模式'a'将写入的内容附加到文件的末尾,而不是覆盖文件原来文件    
    f_obj.write("Hopefully someday I could use the python to write some script to work for me.\n")
    f_obj.write("To make it come true, I must work harder.\n")
 // 输出结果为:
I like the python.
I will try to learn python everyday.
Hopefully someday I could use the python to write some script to work for me.
To make it come true, I must work harder.
    

3、 异常处理,try-except-else代码块

每当有Python不知所措的错误发生时,它都会创建一个异常对象。如果你编写了处理该异常的代码,程序将继续运行,否则程序遇到异常时就会停止运行。

def count_words(filename): 
    """计算一个文件大概包括多少个单词"""
    try: # 只有可能发生错误的代码才需要放在try语句中,由于有些文件名有可能不存在或者文件名的输入有误,就有引发错误。因此打开文件的代码块应放在try代码块中
        with open(filename) as f_obj:
            contents = f_obj.read()
    except FileNotFoundError: # 若try代码块中的代码运行正常,python将跳过except代码块;若try代码块中的代码导致了错误,python将查找这样的except代码块,并运行其中的代码
        print("Sorry, the file " + filename + " does not exist.")
        print("Please write the correct file name")
    else: # 当try代码块运行成功时,就会运行else中的代码块
        words = contents.split() # 方法split()以空格为分隔符将字符串分拆成多个部分,并将这些部分都存储到一个列表中。结果是一个包含字符串中所有单词的列表,虽然有些单词可能包括标点
        num_words = len(words) # 计算列表长度
        print("The file " + filename + " has " + str(num_words) + " words.")

filenames = ['program.txt', 'text.txt', 'reason.txt', 'cat.txt', 'guest.txt'] # 将要分析的文件名存储在一个列表中
for filename in filenames: # 用for循环遍历列表中每个文件名
    count_words(filename) # 调用函数
    
//输出结果为:
The file program.txt has 35 words.
The file text.txt has 3 words.
The file reason.txt has 0 words.
Sorry, the file cat.txt does not exist. # 由于文件cat.txt不存在,因此上面的except代码块中的代码被执行,然后继续运行剩下的程序
Please write the correct file name
The file guest.txt has 2 words.
CAPL诊断模块函数深度解析:diagSetParameter与diagGetParameter实战指南 在汽车电子测试领域,诊断通信是确保ECU功能可靠性的核心技术,其核心原理基于UDS协议实现ECU与测试工具间的标准化数据交互。这一技术通过封装底层报文收发细节,为自动化测试提供了高效接口,极大提升了测试脚本的开发效率和可靠性。在Vector CANoe/CANalyzer工具链中,CAPL脚本语言通过诊断模块函数(如diagSetParameter与diagGetParameter)将这一技术价值落地,实现了对DID数据读写、DTC状态管理等诊断服务的便捷操作。这些函数作为连接CAPL脚本与诊断数据库的桥梁 阅读详情

相关推荐

Python:文件和异常(二) — 写入文件

你以附加模式打开文件时,Python不会在返回文件对象前清空文件,而你写入到文件的行都将添加到文件末尾。通过将输出写入文件,即便关闭包含程序输出的终端窗口,这些输出也依然存在:你可以在程序结束运行后查看这些输出,可与别人分享输出文件,还可编写程序来将这些输出读取到内存中并进行处理。要将文本写入文件,你在调用open()时需要提供另一个实参,告诉Python你要写入打开的文件。然而,以写入(‘w’)模式打开文件时千万要小心,因为如果指定的文件已经存在,Python将在返回文件对象前清空该文件。

衍生星球的博客 446

数据文件操作

文件的打开和关闭、文件模式列举、数据文件、程序文件

qq_50309255的博客 1029

Program控制TXT文件夹.cs

轻松学会控制txt文件夹

编译原理—词法分析器(Java)

1.当运行程序时,程序会读取项目下的program.txt文件 2. 程序将会逐行读取program.txt中的源程序,进行词法分析,并将分析的结果输出。 3. 如果发现错误,程序将会中止读取文件进行分析,并输出错误提示 public class analyzer { final static String ID = "\\p{Alpha}(\\p{Alpha}|\\d)*"; /** 整形常数 NUM >> 正则表达式*/ final static String N

weixin_44560620的博客 720

使用Python将Exception异常错误堆栈信息写入日志文件

主要介绍了使用Python将Exception异常错误堆栈信息写入日志文件,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Tip-Adapter: Training-free Adaption of CLIP for Few-shot Classification

对比式视觉-语言预训练,也称为CLIP,通过大规模的图像-文本对来学习视觉表示,为zero-shot知识迁移展示了新的范式。它在下游任务上展现出令人瞩目的性能,实现了zeri-shot的知识迁移。为了进一步增强CLIP的适应能力,现有方法提出了微调可学习模块的方法,显著提高了少样本情况下的性能,但也引入了额外的训练时间和计算资源。在本文中,我们提出了一种适用于CLIP的无需训练的少样本分类方法,称为Tip-Adapter。

qq_43800752的博客 1164

Python 文件和异常(写入文件)

在本章中,你将学习处理文件,让程序能够快速地分析大量的数据;你将学习错误处理,避免程序在面对意外情形时崩溃;你将学习异常 ,它们是Python创建的特殊对象,用于管理程序运行时出现的错误;你还将学习模块json ,它让你能够保存用户数据,以免在程序停止运行后丢失。学习处理文件和保存数据可让你的程序使用起来更容易:用户将能够选择输入什么样的数据,以及在什么时候输入;用户使用你的程序做一些工作后,可将程序关闭,以后再接着往下做。

钢铁男儿 627

MOS管热阻的测量方法

实验室内如何测试mos管热阻

weixin_43492562的博客 4092

c++文件的读取和写入_python3基础11异常处理|文件读取|文件写入

"pythonic生物人"的第48篇分享。梳理python异常处理方法:try/except/else/finally/raise/assertpython文件读写:open/write目录1.异常处理处理单个异常:try/except多个异常一种方式处理:元组包含多个异常类型多个异常各自特异处理:多个except语句处理所有异常:Exception 捕获所有异常脚本执行之后做清理工作:...

weixin_39693971的博客 157

Obsidian从零搭建:可验证、可回溯、可演进的知识库工具链

个人知识库不是开箱即用的软件,而是基于Markdown内核构建的可演进系统。其核心原理在于分离‘稳定内核’与‘可插拔扩展’:Obsidian原生支持双链、嵌入、Frontmatter等基础能力,构成不可降级的知识骨架;而Dataview、Templater等插件则作为可验证、可回溯的增强层,需通过三问验证(解决痛点?有原生替代?失效可降级?)方可引入。这种设计赋予知识库技术价值——抗版本升级、跨平台兼容、离线可用,并支撑技术文档管理、项目复盘、读书笔记等真实场景。当面对computer use插件不可用或h

weixin_30660027的博客 680

六维力传感器选型指南:电阻式vs电容式,哪个更适合你的工业场景?

本文深入解析六维力传感器在工业自动化中的选型要点,重点对比电阻式与电容式传感器的核心原理、环境适应性及成本结构。针对不同工业场景(如高精度装配、重载机器人等),提供专业选型建议,帮助工程师优化系统性能与经济效益。

weixin_42525005的博客 395

Python文件操作指南:编码、读取、写入和异常处理

这篇文章介绍了Python中文件操作的基本知识和常见技巧。内容包括文件的编码、读取和写入方法,使用迭代器遍历文件内容,文件的追加和关闭,异常处理技巧等。此外,还介绍了使用with语句进行文件写入,使用try-except处理文件读取异常,以及使用os模块和shutil模块进行文件操作的方法。最后,还提供了文件读取的其他方法以及处理文件扩展名的技巧。无论你是初学者还是有经验的开发者,本文都将帮助你更好地理解和应用Python文件操作。

全栈若城,专注知识分享 1536

基于YOLOv12的牙齿识别与计数系统:从理论到完整实现

本文详细介绍了一种基于YOLOv12深度学习模型的牙齿识别与计数系统。该系统能够在口腔X光片中准确识别和计数牙齿,并提供了用户友好的UI界面。文章涵盖了数据预处理、模型训练、性能优化以及完整系统实现的各个环节,并提供了可复现的代码和数据集参考。整个系统包含三个主要模块:数据预处理模块YOLOv12模型训练模块UI界面展示模块。

YOLO 178

python控制台输出到文件_把Python程序的输出和异常信息自动写入文件

原标题:把Python程序的输出和异常信息自动写入文件一般情况下,Python的内置函数print()会把数据输出到标准控制台,也就是屏幕,当然这可以通过为print()函数传递file参数来改变。如果代码执行过程中出现了异常,异常信息也会默认显示在屏幕上。在sys模块中,stderr用来表示标准错误输出去向,stdout表示标准输出去向,通过修改这两个值,可以实现把程序的错误输出和标准输出的内容...

weixin_39592026的博客 579

AUTOSAR从入门到精通-复杂设备驱动(CDD)

CDD是复杂设备驱动的首字母缩写主要为驱动程序或复杂驱动程序,但不限于驱动程序。复杂驱动程序是一种未被AUTOSAR标准化的软件实体,可以通过AUTOSAR接口和/或基本软件模块api访问。 CDD是位于基础软件复杂驱动层的特定模块,与标准BSW模块或Rte交互。 CDD可能需要与分层软件体系结构的模块连接 分层软件架构的模块可能需要连接到CDD CDD可能需要通过Rte连接swc。

getusushu的博客 4193

攻克反光难题!YOLOv9工业缺陷检测实战:高反光件、微小划痕精准识别(附抗反光代码+产线数据)

文章摘要:本文针对不锈钢、铝合金等高反光工业件的缺陷检测难题,提出了一套“硬件抗反光+YOLOv9小目标增强”的解决方案。通过分析反光干扰(镜面/漫反射)和微小划痕(0.1mm级)两大核心问题,详细介绍了500万像素工业相机+偏振光源的硬件配置方案,以及基于偏振图像融合和超分辨率放大的预处理方法。最终实现误检率1.2%、微小划痕检出率99.3%的工业级检测效果,并提供了可落地的代码实现和车间实测数据。(148字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1041

python 文件读取和写入,异常处理,字典和引用模块

f = open('pyehon测试.txt');#py2里可以使用 open 或 file 方法打开文件,py3 只能使用 open。 #不加参数时,open为你默认为'r',reading,只读模式,不能写入且文件必须存在,否则引发异常。 data = f.read();#读取文件中的所有内容 data2=f.readline();#读取一行内容 data3=f.read...

dongjiyan4282的博客 198

2025华为OD面试手撕代码真题目录及面试八股文

本专栏更新每年华为OD机试的高频手撕代码题,每个题目都会使用五种语言进行解答(C & C++& Java & Python & JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2024e卷,od机试,2024E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2024华为od,如何备

KJ.JK 5万+

python将数据写入文件、总是提示变量未定义_Python之路-Python中文件和异常

一、文件的操作open函数在python中,使用open函数,打开一个已经存在的文件,或者新建一个新文件。函数语法 open(name[, mode[, buffering[,encoding]]])name : 一个包含了你要访问的文件名称的字符串值(区分绝对路径和相对路径)。mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文...

weixin_39999781的博客 1173

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Python从入门到实践——第十章 文件和异常(文件读取和写入)

在本章中,你将学习处理文件,让程序能够快速地分析大量的数据;你将学习错误处理,避免程序在面对意外情形时崩溃。

Welcome to my homepage 462

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python入门(七):文件和异常(读取文件,文件路径,写入文件,异常处理,存储数据,代码重构)

在本章之中,我学习了如何使用文件,如何一次性的读取文件,以及如何以每次一行的方式读取文件的内容;如何写入文件,以及如何将文本附加在文件末尾,什么是异常以及如恶化处理程序中可能引发的异常,以及保存用户的信息,避免每次用户运行的时候都需要重新提供

weixin_44566643的博客 742

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

兔c同学:python 如何写入文件(python 的文件和异常)

通过将输出写入文件,即便关闭包含输出的终端窗口,这些输出也依然存在:你可以在程序结束运行后查看这些输出,可与别人分享输出文件,还可编写程序来将这些输出读取到内存中并进行处理。在上面的写入内容示例中,我们调用了 write() 函数,with 帮我们访问 open函数指定的文件时,以 w 参数的写入模式写入write() 函数中,我们想写入的内容。然而,使用 w 参数的写入模式时,指定的文件已经存在,python 将在返回文件对象前清空该文件。但这里的写入是字符串类型的参数值,如果你想写入 数字类型的值,

tianlei_的博客 633

把Python程序的输出和异常信息自动写入文件

一般情况下,Python的内置函数print()会把数据输出到标准控制台,也就是屏幕,当然这可以通过为print()函数传递file参数来改变。如果代码执行过程中出现了异常,异常信息也会默...

董付国的Python专栏 979
上一篇: python 文件操作-读取数据
下一篇: python 存储数据json
一连有梦咿
博客等级 码龄7年 11粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值