python基础:(八)文件

目录

      • 一.从文件中读取数据
        • 1.1读取整个文件
        • 1.2文件路劲
        • 1.3逐行读取
      • 二.写入文件

一.从文件中读取数据

各位小伙伴,文件这一块得好好学,多看多敲代码,以后处理数据,写爬虫少不了这个,先从基础(简单的)抓起,会用,然后在拓展延伸。

1.1读取整个文件

新建一个文本文件,在当前文件的根目录下,如下图所示:

在这里插入图片描述

该文件存储的是部分圆周率pi,部分内容如下:
3.1415926535
  8979323846
  2643383279

讲解放在代码的注释,可以边看代码边对应注释进行参考:

with open('pi.txt') as file_object:
    contents = file_object.read()
print(contents)
# 关键字with在文件不需要访问时自动关闭文件避免数据的丢失
# 函数open(),括号内部接受的是打开文件的路径。(python是在当前文件所在的目录中查找,就是和它同级目录),(默认只读)
# as file_object也就是这个文件对象(file_object)
# read()读取文件对象的值
# 注意使用read()读取到达文件末尾时返回一个空字符串,若想避免则可以调用rstrip()函数(contente.rstrip())

ps:补充个知识,就是文件都必须先打开在编辑,然后在关闭。

1.2文件路劲

路径有绝对路径和相对路径之分。
绝对路径:文件在计算机的准确位置。(c:/桌面/xxxx/xxxx)
相对位置:在当前文件的根目录。(xxx/xxx)

  • ps:pycharm中文件右击文件会出现相对与绝对路径。
  • ps:python文件使用‘/’。
  • ps:windows文件使用‘\’。
  • ps:python文件路径要么使用‘/’,要么使用‘\ \’。(\通常和转义字符相关,\ \对每个斜杠进行转义)
    在这里插入图片描述
1.3逐行读取
#open('pi.txt')
#open('D:/Users/15204/Desktop/BingImageSpider-main/pi.txt')
with open('D:\\Users\\15204\\Desktop\\BingImageSpider-main\\pi.txt') as file_object:
    for line in file_object: #for循环,在文件中逐行读取内容
        print(line)

运行结果:
在这里插入图片描述
说明:
因为每一行文件本身存在一个换行符,print()函数存在一个换行符,因此打印的结果间距变大,若想避免,则继续使用rstrip函数即可。
在这里插入图片描述

二.写入文件

读取文件,相对应的就是写入文件,看下例:

with open('hobby','w') as file_object: # open调用两个实参,第一个文件名(路径就是该文件的同级目录,所以不说路径),第二个是以什么方式打开,w是写入(write)
    file_object.write("I love one person,but it's a pity.")

在这里插入图片描述
运行程序以后:
在这里插入图片描述
ps:python只能将字符串写入文本文件,那也就是问什么创建的hobby文件类型是.txt。如果你想存储数据的话,必须使用函数str()转换为字符串格式。

'w':write,写入文件,如果没有的话创建文件,如果有这个文件的话,文件内容将被清空在写入,若想避免可以使用'a'
'r':read,读取模式,字面意思
'a':add,附加模式,在原先基础添加
'r+':读写模式,字面意思

ps:若想写入多行数据,可以重复调用语句:

 file_object.write("xxxxxx")
 # 注意此时写入是紧跟在文件末尾写入的(你可以使用换行符\n进行换行逐行输入)

ps:目前为止,博客写到这,python的基础语法就全部写完啦(建议先学c语言,有c基础的话(有时间会出个c系列),python语法最快一周左右就能掌握个差不多,能看懂别人代码)。博主因为要开学了,后面有时间会更新一些处理python异常,爬虫(在学习),GUI,以及一些数据的处理等等。

ps:博主水平有限,有问题欢迎大家指出,大家一起学习,一起进步!

ps:因为时间紧凑,所以博主写这些文章就是抓最基本的知识点,其它的可以举一反三。

ps:学完最基础的知识点,就可以着手做一些简单的项目,在项目中锻炼自己的编程能力,加油兄弟们!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

输电线路故障测距研究

故障分析法容易受到过渡电阻、故障类型等因素的影响,从而造成测距误差较大。 行波法不受电力系统运行方式的影响,得到了广泛的应用。波头信息的提取方法主要有:小波变换、希尔伯特黄变换、TT变换等。 智能测距法逐渐被应用于输电线路故障测…

FPGA实战篇(IP核之MMCM/PLL实验)

1.MMCM/PLL IP 核简介 锁相环作为一种反馈控制电路,其特点是利用外部输入的参考信号控制环路内部震荡信号的频率和相位。因为锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。 锁相环在工作的过程中,当…

wordpress网站安装了Linux宝塔面板,限制IP地址访问网站,只能使用域名访问网站

一、Linux服务器安装Linux宝塔面板 这个步骤参考网上其他教程。 二、Linux宝塔面板部署wordpress网站 这个步骤参考网上其他教程,保证网站能够正常访问,并且使用Linux宝塔面板申请并部署了SSL证书,使用https协议默认443端口正常访问。 三…

顶顶通电话机器人开发接口对接大语言模型之实时流TTS对接介绍

大语言模型一般都是流式返回文字,如果等全部文字返回了一次性去TTS,那么延迟会非常严重,常用的方法就是通过标点符号断句,返回了一句话就提交给TTS。随着流TTS的出现,就可以直接把大模型返回的文字灌给流TTS&#xff0…

leetcode每日一题(20241210)

leetcode每日一题(20241210)今天依旧是棋盘类型的题目,但是今天的只是表面相关,看题: 935.骑士拨号器 题目描述: 象棋骑士有一个独特的移动方式,它可以垂直移动两个方格,水平移动一…

记录ubuntu22.04重启以后无法获取IP地址的问题处理方案

现象描述:我的虚拟机网络设置为桥接模式,输入ifconfig只显示127.0.0.1,不能连上外网。,且无法上网,用ifconfig只有如下显示: 1、sudo -i切换为root用户 2、输入dhclient -v 再输入ifconfig就可以看到多了…

MVC基础——市场管理系统(一)

文章目录 项目地址一、创建项目结构1.1 创建程序以及Controller1.2 创建View1.3 创建Models层,并且在Edit页面显示1.4 创建Layou模板页面1.5 创建静态文件css中间件二、Categories的CRUD2.1 使用静态仓库存储数据2.2 将Categorie的列表显示在页面中(List)2.3 创建_ViewImport.…

strncpy在复制含有多个\0的字符串时遇到的问题

strncpy在复制含有多个\0的字符串的时候,会产生截断,因为strncpy在读取源字符串的时候,遇到了\0,函数会认为该字符串已经结束了,然后会向目标字符串内填充\0。 char buffer[100] "ak\0jl";for (int i 0; i…

C# 网络编程--基础核心内容

在现今软件开发中,网络编程是非常重要的一部分,本文简要介绍下网络编程的概念和实践。 C#网络编程的主要内容包括以下几个方面‌: : 上图引用大佬的图,大家也关注一下,有技术有品质,有国有家,情…

驱动---1.DAC8552实现三角波输出

最近开始进行新项目的研发,考虑用DAC做一个前级输出,选择了DAC8552这个器件的一个模块,用了野火的指南者做主控,芯片是STM32F103VET6,主频是72MHz。 一、器件手册重要信息提取 1.DAC8552具有十六位的分辨率、双通道输…

Elasticsearch入门之HTTP基础操作

RESTful REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在…

计算机启动过程 | Linux 启动流程

注:本文为“计算机启动、 Linux 启动”相关文章合辑。 替换引文部分不清晰的图。 探索计算机的启动过程 Aleksandr Goncharov 2023/04/21 很多人对计算机的启动方式很感兴趣。只要设备开启,这就是魔法开始和持续的地方。在本文中,我们将概…

【数据分享】1901-2023年我国省市县三级逐年最低气温数据(Shp/Excel格式)

之前我们分享过1901-2023年1km分辨率逐月最低气温栅格数据和Excel和Shp格式的省市县三级逐月最低气温数据,原始的逐月最低气温栅格数据来源于彭守璋学者在国家青藏高原科学数据中心平台上分享的数据!基于逐月栅格数据我们采用求年平均值的方法得到逐年最…

Hash、HASHTABLE底层原理【Redis对象篇】

🏆 作者简介:席万里 ⚡ 个人网站:https://dahua.bloggo.chat/ ✍️ 一名后端开发小趴菜,同时略懂Vue与React前端技术,也了解一点微信小程序开发。 🍻 对计算机充满兴趣,愿意并且希望学习更多的技…

YOLOv11改进,YOLOv11添加GSConv卷积+Slim-neck,助力小目标检测,二次创新C3k2结构

实时目标检测在工业和研究领域中具有重要意义。在边缘设备上,巨大的模型难以满足实时检测的要求,而由大量深度可分离卷积(depth-wise separable convolution)构建的轻量级模型又无法达到足够的精度。作者引入了一种新的轻量级卷积技术——GSConv,以减轻模型重量同时保持精…

利用Java爬虫MinC根据ID获取商品详情的完整指南

在当今数字化时代,获取商品详情数据对于市场分析、价格监控和竞争对手分析至关重要。Java作为一种强大且广泛使用的编程语言,非常适合开发复杂的爬虫系统。本文将详细介绍如何利用Java编写爬虫程序来根据商品ID获取商品详情,并提供完整的代码…

IP地址中的网络号:定义、作用与重要性

在计算机网络中,IP地址是每台设备的唯一标识。它由网络号和主机号两部分组成,其中网络号用于标识一个特定的网络,而主机号则用于区分该网络内的不同设备。网络号的正确分配和管理,是IP网络互联互通的基础。本文将带您走进网络号的…

java_连接数据库的方法_后端处理_前端调用_打通整体思路

参考:14 尚上优选项目-平台管理端-权限管理模块-开发角色管理接口(上)_哔哩哔哩_bilibili 第一步. 定义数据 在数据库中定义好数据(如role表格),在java后端定义好对应的实体类(Role类&#xf…

PHP富文本编辑器eWebEditor实战指南

本文还有配套的精品资源,点击获取 简介:eWebEditor是一个基于PHP的开源在线文本编辑器,提供类似Word的用户界面,简化了网页文本的创建和编辑过程。它广泛适用于博客、论坛、CMS等平台的内容管理,具备富文本编辑、表格…

docker nginx 部署vue 实例

1.安装docker https://blog.csdn.net/apgk1/article/details/144354588 2. 安装nginx docker 安装 nginx-CSDN博客 3. 复制 nginx-test 实例的一些文件到宿主机中,目前已 /home/jznh/路径演示 3.1 在/home/jznh/ 创建 conf html logs 三个文件夹,…