python基础:(八)文件

news/2024/12/18 13:08:14/

目录

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

一.从文件中读取数据

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

1.1读取整个文件

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

在这里插入图片描述

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

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

python">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逐行读取
python">#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函数即可。
在这里插入图片描述

二.写入文件

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

python">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:若想写入多行数据,可以重复调用语句:

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

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

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

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

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


http://www.ppmy.cn/news/1556123.html

相关文章

Loadsh源码分析-filter,find,findLast,reject,partition

lodash源码研读之filter,find,findLast,reject,partition 一、源码地址 GitHub 地址: GitHub - lodash/lodash: A modern JavaScript utility library delivering modularity, performance, & extras.官方文档地址: Lodash 官方文档 二、结构分析 结构框图省略。 三、函…

css 实现呼吸灯效果

先看效果&#xff1a; 动画的结果就想实在呼吸,完整的代码如下&#xff1a; <template><div class"container"><div class"long-breath"></div></div> </template><style lang"less"> html, body{h…

什么是评价搭配

一、评价搭配的概念 评价搭配是指在文本中&#xff0c;由评价词&#xff08;如 “好”“坏”“优秀”“糟糕” 等表达主观意见的词&#xff09;和被评价对象&#xff08;如产品名称、服务类型、人物等&#xff09;组成的语义单元。例如&#xff0c;在 “这部手机的拍照效果很好…

element左侧导航栏

由element组件搭建的左侧导航栏 预览: html代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>首页</title><style> /*<!-- 调整页面背景颜色-->*/body{background-colo…

[SZ901] JTAG合并功能(类似FPGA菊花链)

SZ901 JTAG支持将JTAG端口组合&#xff0c;最多将四个JTAG变成一个 设置如下 Vivado 识别结果如下 两块板子&#xff0c;变成一组&#xff0c;&#xff0c;可以同时抓取信号&#xff0c;调试&#xff01; SZ901 已上架淘宝&#xff0c;搜素“SZ901”哦

贪心算法(二)

目录 一、最长递增子序列 二、递增的三元子序列 三、最长连续递增序列 四、买卖股票的最佳时机 五、买卖股票的最佳时机II 一、最长递增子序列 最长递增子序列 拿到这道题&#xff0c;我们最先想到的就是用动态规划的方法去解决它。使用动态规划的方法&#xff0c;我们只…

【时间序列分析】距离相关系数(Distance Correction)理论及Python代码实现

文章目录 1. 距离相关系数算法介绍2. Python代码实现3. 优缺点及作用4.总结4.1 线性依赖关系4.2 非线性依赖关系4.3 单调依赖关系4.4 复杂依赖关系 1. 距离相关系数算法介绍 距离相关系数&#xff1a;研究两个变量之间的独立性&#xff0c;距离相关系数为0表示两个变量是独立的…

【Linux】基础IO(内存文件)

目录 一、预备知识二、复习常见C语言的文件接口2.1 文件接口的说明2.1.1 fopen函数2.1.2 fputs函数2.1.3 fclose函数 2.2 文件接口的使用 三、认识操作文件的系统调用3.1 系统调用的说明3.1.1 open函数3.1.1.1 Linux中常用的传参方法 3.1.2 write函数3.1.3 close函数 3.2 系统调…