当前位置: 首页 > news >正文

Python-从文件中读取数据-Sat-Sun

10.1

文件读取数据可以整个文件读取,也可以逐行读取。
首先在保存有.py文件的文件夹里创建一个pi_digist.txt文件,文件内容是

3.14
9265
3589

执行程序
file_reader.py

with open('pi_digist.txt') as file_object:
#接受文件名参数,在程序所在目录查找指定文件,
#返回一个表示文件的对象,将对象存在变量里content = file_object.read()#读取整个文件print(content)
>>>3.14
9265
3589

关键字with会在合适的时机关闭文件,如果调用close函数来执行文件关闭的操作,会有可能出现两种情况。当close条件语句未执行,文件未及时关闭,文件数据受损。或文件过早关闭,在需要访问时则会程序报错。

10.1.2 文件路径

相对路径,是指相对当前执行程序所在目录。

file_path = '\\test\\pi_digist.txt'
#注意是双反斜杠,在linux系统是斜杠

绝对路径是文件在计算机的所在位置的目录。

file_path = 'C:\\Users\\17483\\Desktop\\python_work\\test\\pi_digist.txt'

10.1.3逐行读取

逐行读取文件可以对文件对象使用for循环。

file_path = 'pi_digist.txt'with open(file_path) as file_object:for line in file_object:print(line)
>>>3.1492653589
#输出中的空白行来自两个换行符,
#一个换行符来自文件本身
#另一个是print函数输出时加的

要消除空白行可以用rstrip(),表示消除右边空行。
左边用lstrip(),同时消除两边用strip()。

file_path = 'pi_digist.txt'with open(file_path) as file_object:for line in file_object:print(line.rstrip())
>>>3.14
9265
3589

10.1.4创建包含文件各行内容的列表

使用with时函数返回的对象只能在with代码块里使用。如果要在其他地方使用该文件对象,可以把每行数据存储在列表里。

file_path = 'pi_digist.txt'
with open(file_path) as file_object:lines = file_object.readlines()
#readlines()函数返回一个以每行内容为元素的列表
#列表存储在变量lines
for line in lines:print(line.rstrip())
#遍历列表每个元素
>>>3.14
9265
3589

10.1.5使用文件内容

我们要创建一个包含文件所有内容且没有空格的字符串。

file_path = 'pi_digist.txt'
with open(file_path) as file_object:lines = file_object.readlines()
#打开文件,将每行内容存进列表
pi_string = ''
#创建一个存储了空字符的变量
for line in lines:#遍历列表pi_string += line.strip()
#使用strip()删除字符串两边的空格
print(pi_string)
print(len(pi_string))>>>3.1492653589
12

如果要将读取到的数字字符串作为数值使用,可以使用int()函数转换为整数,或float()转换为浮点数。

10.1.6可以处理大文件

这个文件的数据并不大,这个程序还可以处理更大的文件文件大小的限制取决于你电脑的内存。

file_path = 'pi_digist.txt'
with open(file_path) as file_object:lines = file_object.readlines()pi_string = ''
for line in lines:pi_string += line.strip()
print(pi_string[:5])
print(len(pi_string[:5]))>>>3.149
5

10.1.7判断圆周率中是否存在你的生日

file_path = 'pi_digist.txt'
with open(file_path) as file_object:lines = file_object.readlines()pi_string = ''
for line in lines:pi_string += line.strip()birth = input('Please enter your birthday:')
if birth in pi_string:print('Yes!')
else:print('No...')>>>Please enter your birthday:12
No...

输出n位圆周率精度的文章

10-1

file_path = 'test\\pi_digist.txt'with open(file_path) as file_object:content = file_object.read()print(content)with open(file_path) as file_object:for line in file_object:print(line.rstrip())with open(file_path) as file_object:lines = file_object.readlines()for li in lines:print(li.rstrip())>>>3.14
1592
6535
893.14
1592
6535
89
3.14
1592
6535
89

10-2

file_path = 'test\\pi_digist.txt'with open(file_path) as file_object:lines = file_object.readlines()str = ''
for line in lines:str += line.replace('1','0')
print(str)>>>3.04
0592
6535
89

相关文章:

Python-从文件中读取数据-Sat-Sun

10.1 文件读取数据可以整个文件读取,也可以逐行读取。 首先在保存有.py文件的文件夹里创建一个pi_digist.txt文件,文件内容是 3.14 9265 3589执行程序 file_reader.py with open(pi_digist.txt) as file_object: #接受文件名参数,在程序所…...

测试工程师的职业规划

测试人员在管理上的发展 基层测试管理者:测试组长 工作内容:安排小组工作,提升小组成员测试能力,负责重要的测试工作。 负责对象:版本,项目 中层测试管理者:测试经理 负责对象&#xff1…...

使用 Puppeteer 快速上手 Node.js 爬虫

使用 Puppeteer 库通过自动化浏览器来访问百度图片搜索,并在搜索结果中下载图片。代码分为两部分: 自动化浏览器任务:使用 Puppeteer 浏览百度图片搜索并获取图片 URL。图片下载:检查图片 URL 类型(base64 或 URL&…...

浏览器的跨域问题与解决方案

浏览器的跨域问题与解决方案 浏览器的跨域问题源于同源策略(Same-Origin Policy)这一安全机制。同源策略要求两个页面具有相同的协议、域名和端口号,才能相互访问资源和数据。这一机制旨在防止恶意网站执行跨站脚本攻击,从而保护…...

MyBatis一二级缓存的区别?

大家好,我是锋哥。今天分享关于【MyBatis一二级缓存的区别?】面试题。希望对大家有帮助; MyBatis一二级缓存的区别? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MyBatis 的缓存机制分为 一级缓存 和 二级缓存&…...

[2024-12 CISCN 长城杯] Crypto

fffffhash 【也可以看这题,一样的:https://github.com/DownUnderCTF/Challenges_2023_Public/blob/main/crypto/fnv/solve/solution_joseph_LLL.sage】 题目描述: import os from Crypto.Util.number import * def giaogiao(hex_string):b…...

pytorch bilstm crf的教程,注意 这里不支持批处理,要支持批处理 用torchcrf这个。

### Bi-LSTM Conditional Random Field ### pytorch tutorials https://pytorch.org/tutorials/beginner/nlp/advanced_tutorial.html ### 模型主要结构: ![title](sources/bilstm.png) pytorch bilstm crf的教程,注意 这里不支持批处理 Python version…...

Python毕业设计选题:基于django+vue的疫情数据可视化分析系统

开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 员工管理 疫情信息管理 检测预约管理 检测结果…...

tomcat被检测到目标URL存在htp host头攻击漏洞

AI越来越火了,我们想要不被淘汰就得主动拥抱。推荐一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站 Tomcat被检测到目标URL存在http host头攻击漏洞,这个漏洞复现一下就是黑客访问你的网站,之后中修改请求头中的host属…...

1.初识python

文章目录 1.python背景知识2.python优缺点3.为什么要学习python 大家好,我是晓星航。今天为大家带来的是初识python 相关的讲解!😀 1.python背景知识 我们学习python需要做的事情: 1.python 环境搭建 2.python 基础语法 3.pyth…...

【密码学】ZUC祖冲之算法

一、ZUC算法简介 ZUC算法(祖冲之算法)是中国自主研发的一种流密码算法,2011年被3GPP批准成为4G国际标准,主要用于无线通信的加密和完整性保护。ZUC算法在逻辑上采用三层结构设计,包括线性反馈移位寄存器(L…...

Python面试常见问题及答案8

一、基础部分 问题1: 解释Python中的切片(slicing)操作在列表、字符串上是如何工作的? 答案: 在列表和字符串中,切片操作可以获取其中的一部分元素。切片的语法是[start:stop:step]。 对于列表&#xff0…...

ASP.net Core EntityFramework Code EF code 汇总

Entity FrameWork EF 总结 EF Core EF Core 如果实体模型很多,全部放在 上下文中的 OnModelCreating(ModelBuilder modelBuilder) 不太好维护 可以把实体模型 分离出去,每个类创建一个实体模型 public class BookConfiguration :IEntityT…...

u3d动画系统五【StateMachineBehaviour类】

一.StateMachineBehaviour概述 状态机行为是一类特殊脚本。与将常规 Unity 脚本 (MonoBehaviour) 附加到单个游戏对象类似,您可以将 StateMachineBehaviour 脚本附加到状态机中的单个状态。因此可编写一些将在状态机进入、退出或保持在特定状态时执行的代码。这意味…...

IS-IS协议

IS-IS协议介绍 IS-IS(Intermediate System to Intermediate System)协议是一种链路状态的内部网关协议(IGP),用于在同一个自治系统(Autonomous System, AS)内部的路由器之间交换路由信息。IS-I…...

使用C++实现RSA加密解密

一,RSA简介。 RSA,一种非对称加密方式。是目前为止最有影响力的加密算法之一,而且是第一个同时应用于加密和数字签名的算法。 其原理为:两个大素数相乘容易,但是若想将两个大素数相乘的积再分解为两个原始的素数很难…...

C++归并与快速

快排 #include<bits/stdc.h> #include<algorithm> using namespace std; void f(int,int); void cl(int,int,int); void q(int,int); int a[211]; int n; int main(){cin>>n;for(int i0;i<n;i){cin>>a[i];}q(0,n-1);for(int i0;i<n;i){cout<…...

金蝶云苍穹踩过的坑(慢慢更新)

IDEA不能用最新版&#xff0c;不然搜不到金蝶的插件。 我用的是2024.1.7/2023.1.7 IDEA里增加金蝶插件库的地址也变了&#xff0c;现在是 https://tool.kingdee.com/kddt/idea-updatePlugins.xml 金蝶云苍穹部署在服务器 MAC本地IDEA调试的时候&#xff0c;登录N次能成功一次…...

AndroidStudio——安卓项目结构与文件介绍

一、AndroidStudio界面 一个安卓项目界面主要由以下几部分组成&#xff1a; 1.菜单栏&#xff1a;位于顶部&#xff0c;基本的各项菜单操作 2.项目结构&#xff1a;通常位于左侧&#xff0c;展示当前项目的目录结构 3.编辑窗口&#xff1a;通常位于中间&#xff0c;可以用于编…...

华为自反ACL实验

一、实验背景 做这个实验的原因是最近公司里上了三台小程序服务器&#xff0c;由于三台服务器的端口都映射出去了&#xff0c;领导要求A网段的三台服务器不能访问内网B&#xff0c;C网段&#xff0c;同时B、C网段内网用户可以访问A段的94、95、96服务器&#xff1b; 也就是PC4\…...

OpenClaw+gemma-3-12b-it内容助手:自动生成技术文章与排版

OpenClawgemma-3-12b-it内容助手&#xff1a;自动生成技术文章与排版 1. 为什么需要自动化内容生产线 作为技术自媒体创作者&#xff0c;我每周需要产出3-5篇深度技术文章。传统写作流程中&#xff0c;最耗时的不是核心内容创作&#xff0c;而是反复调整格式、插入代码块、优…...

OpenClaw+Qwen3-14B镜像实战:5分钟搭建飞书智能助手

OpenClawQwen3-14B镜像实战&#xff1a;5分钟搭建飞书智能助手 1. 为什么选择这个组合&#xff1f; 上周三晚上11点&#xff0c;我正在为第二天的部门会议整理材料时&#xff0c;突然冒出一个想法&#xff1a;能不能让AI自动处理这些重复性工作&#xff1f;经过一番折腾&…...

时间放大器:从亚稳态到数字训练式的硬件实现解析

1. 时间放大器的核心价值与应用场景 时间放大器&#xff08;Time Amplifier&#xff09;这个名词听起来有点科幻&#xff0c;但它的原理其实非常接地气。想象一下你用两根手指同时按下钢琴的两个琴键&#xff0c;如果两次按键的时间差只有几毫秒&#xff0c;普通人耳朵可能分辨…...

煤矸石自动分离机设计【论文+CAD图纸】

煤矸石作为煤炭开采与洗选过程中产生的固体废弃物&#xff0c;其成分复杂、粒度分布不均&#xff0c;传统人工分选效率低且精度难以保证。煤矸石自动分离机的设计以机械结构优化与物料特性分析为核心&#xff0c;通过多级筛分与智能识别技术的结合&#xff0c;实现煤矸石与煤炭…...

VL53L1X ToF测距传感器嵌入式驱动开发全指南

1. VL53L1X 距离传感器驱动库深度解析与嵌入式工程实践VL53L1X 是意法半导体&#xff08;STMicroelectronics&#xff09;基于飞行时间&#xff08;Time-of-Flight, ToF&#xff09;原理推出的高精度、单点激光测距传感器。其核心优势在于&#xff1a;在 40mm–4000mm 典型量程…...

SpringBoot的两种启动方式原理

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...

SEO_如何通过内容SEO获取稳定流量的关键方法

SEO:如何通过内容SEO获取稳定流量的关键方法 在当今数字化时代&#xff0c;如何通过内容SEO获取稳定流量成为了许多企业和网站运营者关注的焦点。内容SEO不仅能够提升网站的自然搜索排名&#xff0c;还能为网站带来长期的、可持续的流量。具体应该如何通过内容SEO获取稳定流量…...

​Problem - 2148F - Codeforces​[字符串后缀排序]

Problem - 2148F - Codeforces 题意很简单 我们可以随意防止字符串 按照从上到下 如果最后一层某个位置没有字符串 那么上面的字符串就会掉下来到最后一层 求字典序最小的最下层的字符串 首先 最朴素的思想 我们会找出当前最小长度的字符串 长度k 然后截取所有字符串的…...

2026届毕业生推荐的五大AI科研神器实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在运用人工智能辅助写作这个行为当中&#xff0c;所生成的内容常常带有十分明显的机械感。所…...

3分钟上手Hysteria2:从安装到连接的超简单教程

3分钟上手Hysteria2&#xff1a;从安装到连接的超简单教程 Hysteria2是一款高效的网络加速工具&#xff0c;通过一键安装脚本即可快速部署&#xff0c;特别适合新手用户。本教程将带你在3分钟内完成从安装到连接的全过程&#xff0c;让你轻松享受高速网络体验。 准备工作&#…...