[读取文件数据],open()的返回类型和【list.append(),造成显性写入\n】。方法参数的缺省带来的影响?

Python文件读取全解析:从open()到数据处理的实战指南 文件操作是编程中的基础概念,它涉及程序与外部存储设备的数据交互。其核心原理是通过系统调用建立数据流通道,实现对磁盘文件的读写访问。掌握文件操作的技术价值在于能够高效、安全地处理各种数据源,如日志分析、配置管理和数据清洗等应用场景。在实际工程实践中,Python的`open()`函数是文件操作的入口,而`with`语句则确保了资源的自动管理,避免了内存泄漏。对于大文件处理,迭代读取是保证内存安全的关键策略,同时正确处理文件编码和路径问题也是提升代码健壮性的重要环节。本文围绕Python读取TXT文件的完整流程 阅读详情


#os.chdir('D:\IDE\workspace\testfiles')

os.chdir('D:/IDE/workspace/testfiles') #斜杠方向

print(os.getcwd())

输出为 D:\IDE\workspace\testfiles #斜杠方向不同


#打印文件
'''
    newline controls how universal newlines works (it only applies to text
    mode). It can be None, '', '\n', '\r', and '\r\n'.  It works as
    follows:
    
    * On input, if newline is None, universal newlines mode is
    enabled. Lines in the input can end in '\n', '\r', or '\r\n', and
    these are translated into '\n' before being returned to the
    caller. If it is '', universal newline mode is enabled, but line
    endings are returned to the caller untranslated. If it has any of
    the other legal values, input lines are only terminated by the given
    string, and the line ending is returned to the caller untranslated.
    
    * On output, if newline is None, any '\n' characters written are
    translated to the system default line separator, os.linesep. If
    newline is '' or '\n', no translation takes place. If newline is any
    of the other legal values, any '\n' characters written are translated
    to the given string.
    '''
data = open('sketch.txt') #返回类型:<class '_io.TextIOWrapper'>  
data.seek(0)
for each_item in data:
    #each_item的类型为<class 'str'>
    #以文件换行作为str的划分        
    print(each_item, end='')
print(type(data))
data.close()


print(os.getcwd())
man = "各种字符串asdfghjkl。\n123456"
myfile = open('myfile.txt','w')
print(man, file=myfile)#将字符串写入文件
myfile.close()#【注意】如果不关闭文件,下面命令无法执行。
printfile(open('myfile.txt'))
'''
    打印结果为:
    各种字符串asdfghjkl。
    123456
    【执行了换行操作】
'''

def mycopy():
    datain = []
    data = open('file2.py')
    for each in data:
        datain.append(each)#【每次添加新元素时,把\n显性的写入】
    newfile = open('file3.txt', 'w')
    print(datain, file=newfile)#会把换行打印成\n
    print_file(data)#【读源文件正确显示多行,副本文件为单行】
    newfile.close()
    print_file(open('file3.txt'))


#解决办法:
qfile = open('wq.txt','w').writelines([l for l in open('ww.txt','r').readlines() if l[:-1].strip()

l[:-1]除去了字符串后面的\n,然后依次写入。在每次写入操作后会自动换行

参见:http://zhidao.baidu.com/question/554688895.html?fr=qrl&index=1&qbl=topic_question_1&word=python%20string%20%C9%BE%B3%FD

总结,错误的做法:

1.使用list.append(),造成显性写入\n。

2.直接每行写入时,print操作会再次执行换行,造成每次多一个空行。


packle.dump(A, B) #把A的内容放入文件B,以Python的方式压缩数据

import pickle

mdata = [('a',1),('c','d')]
print(mdata)

with open('Picklefile.pickle','wb') as mysavedata:
    pickle.dump(mdata, mysavedata)#将mdata压缩写入文件

with open('Picklefile.pickle','rb') as myrestoredata:#读
    mdata = pickle.load(myrestoredata)#理解为解压缩

#list2 = open('file2.txt')
print('解压缩后:')
print(mdata)



def function(A, B, C) #不支持缺省参数,还不知道为什么。不知道是headfirst python代码问题,还是我本地的问题

#会出现提示:<_io.TextIOWrapper name='file4.txt' mode='w' encoding='cp936'>

Python文本文件读写:编码、换行符与内存管理实战 文本文件读写是数据处理的基础能力,本质是字节流与字符串之间的编码解码过程。理解UTF-8、GBK等编码机制,掌握BOM识别与自动剥离(utf-8-sig),能避免90%的乱码问题;厘清\n、\r\n换行符差异及strip()与rstrip()的行为边界,可精准控制段落结构与空白处理;结合with上下文管理、迭代器流式读取和buffering参数调优,可在保障资源安全的同时实现超大文件低内存占用处理。本文聚焦pandas.read_table、numpy.loadtxt与原生open三大路径的原理级选型逻辑, 阅读详情

相关推荐

Python列表append和extend本质区别与实战避坑指南

在Python中,列表的append和extend是两种基础但易混淆的数据操作方法。其核心差异在于:append执行对象引用级‘装箱’,将参数作为单个元素插入;extend则进行可迭代对象的‘拆包’遍历,逐元素追加。这一设计直接影响内存布局、时间复杂度及类型安全性——例如误用append导致嵌套列表、extend传入字符串引发意外字符拆分、循环中滥用extend造成O(n²)性能退化等。在数据清洗、API聚合、SQL参数构造、递归文件收集等工程场景中,正确选择关乎逻辑正确性与系统稳定性。本文结合内存地址观测

weixin_33859231的博客 375

c#:File.open()的使用

c#:File.open()的使用 1.File.Open(String, FileMode) 定义:File.Open(String, FileMode)是一个内置的 File 类方法,用于打开指定路径上的 FileStream,具有读/写访问权限,没有共享。 public static System.IO.FileStream Open (string path, System.IO.FileMode mode); 其中参数代指: path源文件名:这是要打开的指定文件。 mode模式:此模式值指定是

weixin_44899642的博客 6943

ANSA二次开发JSON数据写入:CAE前处理自动化实战指南

CAE前处理是工程仿真分析的关键环节,涉及几何清理、网格划分和模型设置等基础操作。传统手动处理方式效率低下且易出错,而自动化技术通过脚本编程实现流程标准化。JSON作为轻量级数据交换格式,在参数化建模中扮演重要角色,能够结构化存储材料属性、边界条件等模型数据。结合ANSA二次开发,工程师可以构建数据驱动的自动化流程,显著提升工作效率和模型一致性。这种技术组合特别适用于批量模型处理、参数化分析和团队协作场景,为CAE前处理带来革命性改进。ANSA二次开发与JSON数据写入的结合,为工程仿真领域提供了可靠的自动

weixin_33843947的博客 1万+

Python File Handing:Create,Open,Append,Read,Write

Python文件处理:创建,打开,追加,读写 在Python中,不需要导入外部库来读写文件。Python提供劳务一个用于创建,编写和读取文件的内置函数。 如何创建文本文件 使用Python,你可以使用代码创建各种类型的文件,例如.txt , .py 等等,具体代码为: 第一步) f = open(&amp;quot;luckycyong.txt&amp;quot;,&amp;quot;w+&amp;quot;) 我们声明变量f打开一个名为filena...

宇宙无敌大帅锅 1万+

Python CSV写入实战:writer与DictWriter的深度解析与应用

CSV(逗号分隔值)是一种广泛使用的纯文本数据交换格式,因其结构简单、通用性强,成为数据库、传感器和网络数据导出的标准选择。其核心原理是通过特定的分隔符(如逗号)和引号规则来组织表格数据,确保信息在不同系统和平台间准确传递。在Python中,csv模块提供了高效、稳健的CSV文件处理能力,能自动处理字段内包含分隔符、换行符等复杂情况,避免手动解析带来的格式错误。掌握csv模块的写入技术,对于数据清洗、日志记录和结果导出等工程实践至关重要,能显著提升代码的健壮性和可维护性。本文聚焦于csv.writer()和

weixin_34234721的博客 585

泛海三江消防主机9000系列说明书

泛海三江消防报警主机9000,9100,310系列调试说明,内涵主机操作说明,接线说明,内部跳线说明,对消防调试非常有帮助。

第9.2节 Python的文件打开函数open详解

一、 引言 在操作一个文件前,大部分情况需要先打开文件,才能进行,在Python中使用内置函数open来打开一个文件。open函数是Python的一个内置函数,io模块 定义的函数open是该内置函数的同义词(这是Python官网中关于io.open函数的说明,原文如下: “This is an alias for the builtin open() function”。这里的this是指io....

老猿Python 1万+

在实战中学AI-车流量统计项目-YOLOV11车辆检测-YOLOV11模型的部署

考虑实际落地中部署推理资源消耗,速度与模型精度之间的均衡,同时,车辆属于比较通用场景的目标检测,我们将YOLOV11作为最终的模型选择,目前官方开源的模型基于coco数据集训练,里面已经包含了车辆相关类别,经测试,在监控视角下效果基本可用,所以,在落地过程中,我们先用这个模型来打通部署链路,后面再逐步优化模型性能。在Nvidia的硬件下做部署,部署框架优先选择官方框架TensorRT,下面重点讲述如何用TensorRT部署YOLOV11模型。

Aleo_优快云的博客 2166

mdf数据库文件怎么打开?

方法/步骤 1、找到要打开的数据库文件,如图 2、如图所示,该数据库文件后缀名为.mdf,是SQL Server数据库的数据文件,这里将用SQL Server数据库对该文件进行打开。启动SQL Server数据库,如图 3、图为启动SQL Server Management Studio时的界面,登录后可以管理数据库数据。开启之后的界面如图 4、提示用户输入用户名和登录密码,输...

borter的博客 11万+

FPS游戏自动枪械识别+压枪(以PUBG为例)

使用Python3.9作为开发环境,实现一个通用的FPS游戏自动检测枪械配件+压枪宏的软件开发思路

weixin_37827742的博客 3万+

手把手教你用ADS优化肖特基二极管检波电路(附RC参数避坑指南)

本文详细介绍了如何使用ADS软件优化肖特基二极管检波电路,包括RC参数设置、常见失真问题分析与解决方案。通过实战案例和参数优化技巧,帮助射频工程师避免设计陷阱,提升电路性能。特别附有RC参数避坑指南,适用于调幅解调、功率检测等应用场景。

m2n3o4p5的博客 198

linux_open

open(打开文件) 相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen

yingfox的专栏 9581

2024年上半年网络工程师下午真题及答案解析

位于MPLS域边缘、连接其他网络的LSR称为( 3 ),区域内部的LSR称为核心LSR(CoreLSR)IP报文进入MPLS网络时,MPLS入口设备分析IP报文的内容并为其添加合适的标签,所有MPLS网络中的LSR根据标签转发数据,当该IP报文离开MPLS网络时,标签由出口LER弹出。LSP的出口LER称为( 6 )。某高校网络拓扑如下图所示,两校区核心(CORE-1、CORE-2),出口防火墙(NGFW-1、NGFW-2)通过校区间光缆互联,配置OSPF实现全校路由收敛,两校区相距40km。

bsefef的博客 2472

Python 3文件处理核心原理:编码、缓冲与原子写入实战

文本文件操作是Python工程实践的基石,其本质是Unicode字符串与字节流之间的双向转换过程。理解Python 3中str/bytes分离设计、TextIOWrapper编码转换器机制,是解决乱码、崩溃与跨平台兼容问题的关键。encoding参数决定解码契约,newline控制换行符标准化行为,buffering直接影响I/O吞吐性能,而atomic_write等模式保障数据持久性。这些技术点共同构成日志分析、配置管理、自动化报告等高频场景的可靠性底座。本文聚焦open()函数背后的操作系统交互、内存缓

dengwan3818的博客 387

忍者安全渗透系统(NINJITSU OS V3)的安装详细过程,亲测新旧vm版本都可安装,附带下载来源

忍者安全渗透系统(NINJITSU)的安装详细过程,亲测新旧vm版本都可安装,附带下载来源

1万+

【大模型应用开发-FastAPI框架】(八)Sqlalchemy+postgresql简单增删改查

语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。SQLAlchemy的理念是,的量级和性能重要于对象集合;而对象集合的抽象又重要于表和行。因此,SQLAlchemy采用了类似于。社区中成为广泛使用的ORM工具之一,不亚于Django的ORM框架。和declarative等可选插件可以让用户使用声明语法。SQLAlchemy首次发行于2006年2月,并迅速地在。SQLAlchemy“采用简单的。二、安装postgresql。一、SQLAlchemy简介。的数据映射模型,而不是其他。

2098

Python新手必看:别再写file.read_lines()了,正确读取文件行的3种方法(附避坑指南)

本文详细解析了Python文件读取中常见的`AttributeError`错误,特别是`file.read_lines()`的正确替代方法。通过对比`readlines()`、文件对象直接迭代和`readline()`三种方法的性能与适用场景,帮助新手开发者高效、安全地处理文件行读取任务,并提供了内存优化和错误处理的实用技巧。

575

适航规章、标准,书籍资料下载汇总(增加DO-160G中英文版)

很多读者之前问我有没有DO-160G的资源,现在终于找到啦!如果大家有其他想要的资源,可以在留言区告诉我,有空我会帮大家找找看~文末有下载链接:更新日志:2024-9-28:初版。2024-10-21:增加DO-330英文版PDF下载。2024-10-30:增加DO-160G中文版(非机翻)和英文版PDF下载。以下是一些收集到的适航相关的资料,分享给大家。(如果没有你想要的资料,请留言,等找到会及时更新!

qq_41854911的博客 2758

Python文件写入实战:编码、模式与原子性安全指南

文件写入是程序数据持久化的基础操作,其本质涉及操作系统文件描述符管理、字符编码转换、I/O缓冲机制与并发安全模型。理解UTF-8编码原理可避免跨平台乱码;区分'w'(覆盖)、'a'(追加)、'x'(独占创建)等文件模式,实则是为业务意图建模;而with语句和原子写入(atomic write)则保障了资源确定性释放与数据完整性。这些技术细节共同构成Python工程中‘写得稳、写得准、写得久’的底层能力,广泛应用于日志记录、配置生成、数据导出及结构化存储等核心场景。

cigang4063的博客 568

Isaac Sim 入门教程(四)强化学习策略训练宇树人形机器人四足机器人示例

isaac_sim_policy_example Extension 是在 Isaac Sim 中部署 Isaac Lab 强化学习策略的一个框架和一组辅助函数。有关在 Isaac Sim 中训练和构建策略的详细信息,请访问在 Isaac Sim 中部署策略。该扩展程序默认已启用。如果被禁用,可在扩展管理器中搜索 isaacsim.robot.policy.example 重新启用。要运行下面的示例,请激活 “视窗”>“示例”>“机器人示例”,这将打开 “机器人示例 ”选项卡。

机器人控制与仿真应用 3925

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Python读取TXT文件:从基础操作到高效数据处理实战

文件读取是数据处理的基础操作,涉及编码、内存管理和数据结构转换等核心概念。其原理是通过文件系统接口将存储介质上的二进制数据按指定编码解码为程序可处理的字符串。这项技术的价值在于它是数据科学、自动化脚本和日常办公的基石,能够将原始文本转化为可分析的结构化数据。应用场景广泛,包括日志分析、配置文件解析、原始数据导入和网络爬虫数据抓取等。本文聚焦于Python读取TXT文件的实战技巧,针对大文件处理和编码问题等常见挑战,提供了从基础方法到使用pandas进行高效数据分析的完整解决方案,帮助开发者构建健壮的数据读取

weixin_30855099的博客 410

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

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

Python列表5个高效方法:替代for循环提升数据处理性能

列表是Python最基础的数据结构,其内置方法如sort、extend、pop等并非简单语法糖,而是基于CPython底层C实现的高性能原地操作。理解其时间复杂度(如sort的Timsort最优O(n)、extend的摊还O(1))和内存行为(原地修改、连续存储),是构建高吞吐数据流水线的关键。这些方法显著降低调试成本,规避索引越界、类型不匹配等运行时异常,并在电商日志清洗、金融风控特征工程、IoT时序对齐等真实场景中验证了数倍至十倍级性能提升。掌握list.sort(key=...)多级排序、list.e

weixin_30681121的博客 380

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python 3.12 open() 函数实战:5种模式读写CSV与JSON文件性能对比

本文深入探讨Python 3.12中open()函数的五种模式('r'、'r+'、'w'、'w+'、'a')在读写CSV与JSON文件时的性能差异。通过基准测试对比读写速度、内存占用等指标,揭示不同模式在数据处理中的优劣势,并提供针对不同业务场景的最佳实践建议,帮助开发者优化文件操作效率。

weixin_30357231的博客 418

Python文件操作100题精讲:从基础读写到实战应用

文件操作是编程语言与外部世界交互的核心技术,它实现了内存与硬盘之间的数据交换。其基本原理是通过操作系统提供的接口,对存储在磁盘上的文件进行读取、写入和管理。掌握文件操作对于数据处理、日志分析和自动化脚本开发具有重要价值,是提升编程生产力的关键。在实际应用中,开发者常需处理文本、CSV、JSON等多种格式文件,并应对编码、路径和异常处理等挑战。本文基于Python编程实践,通过100道由浅入深的练习题,系统讲解文件打开模式、编码处理、路径管理和上下文管理等核心概念,帮助读者构建扎实的文件操作技能体系,并自然融

weixin_33882452的博客 397

Python replace()进阶实战:从基础替换到批量数据处理

本文深入探讨Python中replace()函数的进阶应用,从基础字符串替换到批量数据处理。通过电商场景、日志处理等实战案例,详细讲解replace()在数据清洗、性能优化等方面的技巧,帮助开发者高效处理字符串替换任务。

weixin_34060299的博客 425

Python基础 - 初识列表list 有序可变的元素序列

Python列表基础总结 🎯 列表(list)是Python最核心的数据结构之一,具有有序可变的特性。通过方括号[]创建,支持混合数据类型存储。关键操作包括: 索引访问 - 从0开始的正向索引和-1起始的负向索引 切片操作 - [start:stop:step]实现灵活的子序列提取 元素修改 - 通过append()/extend()/insert()添加元素,remove()/pop()删除元素 排序反转 - sort()和reverse()方法实现排序功能 列表的底层采用动态数组实现,自动处理内存扩容

千淘万漉虽辛苦,吹尽狂沙始到金 2万+
上一篇: 开始学习Python,设置环境和编译一个简单的程序
下一篇: Hadoop家族学习路线图
超级菠萝
博客等级 码龄11年 0粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值