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

Python文件操作

目录

一、文件操作介绍

二、文件的打开和关闭

三、文件的读写 

四、文件文件夹相关操作

五、test


一、文件操作介绍

 文件 : python中文件是对象

Liunx 文件 : 一切设备都可以看成是文件

  磁盘文件    管道  网络Socket

文件属性:

  读  写  执行权限

就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力

二、文件的打开和关闭

如果想用word编写一份简历,应该有哪些流程呢?

文件打开方法:

  open(name,mode[buf])

  f = open('test.txt', 'w')

文件打开方法:

  with open(‘test.txt’, ‘w’)  as file

close

  # 新建一个文件,文件为:test.txt

  f = open('test.txt', 'w')

   # 关闭这个文件

   f.close() 

1.将写缓存同步到磁盘 ;
2.Linux 系统中每一个进程打开文件的个数是有限的;
3.如果打开文件数到了系统限制, 则会打开失败
"""
open(文件名称, 模式)
open("test.txt" , "r")
with open
with open("test.txt" , "r") as f:
"""# file = open("test3.txt" , "a")
# file.close()file = open("test.txt" , 'r')
contend1 = file.read(5)
print(contend1)
print("--"*30)
contend2 = file.read(5)
print(contend2)file.close()

 

三、文件的读写 

文件读取方式 

read([size]) :读取文件(读取size个字节,默认读取全部)

f = open('test.txt', 'r')

content = f.read(5) # 最多读取5个数据

print(content)

print("-"*30) # 分割线

print(content)

f.close() # 关闭文件,这个可以是个好习惯哦

文件读取方式 

readlines([size]) :读取文件返回每一行所组成的列表

f = open('test.txt', 'r')

content = f.readlines()

print(type(content))

i=1

for temp in content:

  print("%d:%s" % (i, temp))

   i += 1

 f.close()

文件读取方式

  readline 读取一行

  f = open('test.txt', 'r')

  content = f.readline()

  print("1:%s" % content)

  content = f.readline()

  print("2:%s" % content) f.close() 

如果一个文件很大,比如5G,试想应该怎样把文件的数据读取到内存然后进行处理呢?

 文件的写入

  write(str): 将字符串写入文件

  writelines(): 写多行到文件中

文件读取写入文件指针移动过程

 

写文件的过程与存在问题 

 

 

 

Python写入磁盘的时机

  1. 主动调用close 方法, 写缓存同步到磁盘

  2. 写入数据量大于或等于写缓存,写缓存同步到磁盘 

 

"""# 打开文件
file = open("test3.txt", "r")
# 读取10个字节
contend = file.read(10)print(contend)
print("-"*30)
# 读取全部
result = file.read()print(result)
# 关闭
file.close()#打开文件
file = open("test3.txt", "r")
contend = file.readlines()
print(contend)
print("--"*28)
for i  in contend:print(i)file.close()"""file = open("test3.txt", "r")
contend = file.readline()print(contend)
ret = file.readline()
print(ret)file.close()

 

file = open("domo.txt" , "w")
contend = "i love python"file.write(contend)
file.close()

四、文件文件夹相关操作

文件包括: 磁盘(ext2, ext4)文件 , NFS文件系统,

 各种外设(sd卡, USB设备)

Linux 如何管理外设?

python对文件的操作

OS模块

文件重命名

  rename(需要修改的文件名, 新的文件名)

  import os

  os.rename("毕业论文.txt", "毕业论文-最终版.txt")

   

OS模块

删除文件

  remove(待删除的文件名)

  import os

  os.remove("毕业论文.txt")

OS模块

创建文件夹

  mkdir()

  import os

  os.mkdir(“张三”)

 

OS模块

  获取当前目录

    os.getcwd()

  改变默认目录

    os.chdir("../")

  获取目录列表

    os.listdir("./")

  删除文件夹

    os.rmdir("张三")

 

import  os
"""
# os.rename("domo.txt","deep.txt")
os.rename("deep.txt","123.txt")文件重命名操作
文件删除操作
os.remove("test.txt")
创建文件夹
os.mkdir("张三")
"""
path = (os.getcwd())
print(path)

五、test

  • 一、单选题
    1.打开一个已有文件,然后在文件末尾添加信息,正确的打开方式为()。
    A. 'r' B. 'w' C.'a' D. 'w+'
    2.假设文件不存在,如果使用open方法打开文件会报错,那么该文件的打开方式是下列哪种模式?()
    A. 'r' B. 'w' C.'a' D. 'w+'
    3.假设file是文本文件对象,下列选项中,哪个用于读取一行内容?()
    A. file.read() B. file.read(200)
    C.file.readline() D.file.readlines()
    4.下列方法中,用于向文件中写出内容的是()。
    A.open B.write C.close D.read
    5.下列荣方法中,用于获取当前目录的是()。
    A.open B.write C.Getcwd D.read
    二、判断题
    文件打开的默认方式是只读。()打开一个可读写的文件,如果文件存在会被覆盖。()使用write方法写入文件时,数据会追加到文件的末尾。()实际开发中,文件或者文件夹操作都要用到os模块。()read方法只能一次性读取文件中的所有数据。
    三、填空题
    打开文件对文件进行读写,操作完成后应该调用_______方法关闭文件,以释放资源。seek方法用于移动指针到制定位置,该方法中________参数表示要偏移的字节数。使用readlines方法把整个文件中的内容进行一次性读取,返回的是一个__________。os模块中的mkdir方法用于创建__________。在读写文件的过程中,_________方法可以获取当前的读写位置。

1、A
2、A
3、C
4、C
二、对 错 错 对 错
三、close offset 列表 文件夹 tell 

相关文章:

Python文件操作

目录 一、文件操作介绍 二、文件的打开和关闭 三、文件的读写 四、文件文件夹相关操作 五、test 一、文件操作介绍 文件 : python中文件是对象 Liunx 文件 : 一切设备都可以看成是文件 磁盘文件 管道 网络Socket 文件属性: 读 写 执行权限 就是把一些存储存放起来&…...

036:cesium加载GPX文件,显示图形

第036个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载GPX文件, 显示图形。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共83行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https:/…...

【AI探索】我问了ChatGPT几个终极问题

终于尝试了一把ChatGPT的强大之处,问了一下关心的几个问题: chatGPT现在在思考吗?有没有什么你感兴趣的问题? 你认为AI会对人类产生哪些方面的影响? 你对人类所涉及到的学科有了解吗?你认为在哪些方面与人类…...

Leetcode 优先队列详解

优先队列 优先队列(Priority Queue):一种特殊的队列。在优先队列中,元素被赋予优先级,当访问队列元素时,具有最高优先级的元素最先删除 普通队列详解Leetcode 队列详解 优先队列与普通队列最大的不同点在于…...

通过两道一年级数学题反思自己

背景 做完这两道题我开始反思自己,到底是什么限制了我?是我自己?是曾经教导我的老师?还是我的父母? 是考试吗?还是什么? 提目 1、正方体个数问题 2、相碰可能性 过程 静态思维: …...

Pytorch :从零搭建一个神经网络

文章目录安装依赖从源码编译pytorchCXX_ABI问题数据集归一化Transforms搭建神经网络Components of a neural networknn.Flattennn.Linearnn.Sequentialnn.SoftmaxModel Parameters优化模型参数设置超参数添加优化循环添加 loss function优化过程完整实现模型的保存和加载安装 …...

【华为OD机试 2023最新 】 区块链文件转储系统(C++ 100%)

题目描述 区块链底层存储是一个链式文件系统,由顺序的N个文件组成,每个文件的大小不一,依次为F1,F2,…,Fn。随着时间的推移,所占存储会越来越大。 云平台考虑将区块链按文件转储到廉价的SATA盘,只有连续的区块链文件才能转储到SATA盘上,且转储的文件之和不能超过SATA盘…...

基于springcloud实现分布式架构网上商城演示【项目源码】分享

基于springcloud实现分布式架构网上商城演示摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包…...

【Qt】(自制类)适用于QTextCharFormat的字体选择对话框

先附上github链接:https://github.com/Ls-Jan/Qt_CharFormatDialog 主要是作为QFontDialog的平替/增强,毕竟Qt自带的字体选择器一言难尽(用过的都叹气)。 【运行界面】 【功能】 一目了然,可以选择字体,设置字号,设置…...

Unity即时战略/塔防项目实战(一)——构造网格建造系统

Unity即时战略/塔防项目实战(一)—— 构造网格建造系统 效果展示 Unity RTS游戏网格建造系统实现原理 地形和格子划分,建造系统BuildManager构建 地形最终需要划分成一个一个的小方格,首先定义一下小方格: private…...

【ZOJ 1095】Humble Numbers 题解(动态规划)

一个素数只有2,3,5或7的数被称为谦逊数。序列1、2、3、4、5、6、7、8、9、10、12、14、15、16、18、20、21、24、25、27。。。显示了前20个不起眼的数字。 编写一个程序来查找并打印此序列中的第n个元素。 输入规范 输入由一个或多个测试用例组成。每个…...

百科媒体背书,什么媒体的收录可以修改百科?

传媒如春雨,润物细无声,大家好 大家都知道百科在百度搜索引擎中有很高的权重,排名非常靠前,任何机构,个人,或者企业做网络宣传百科是必不可少的,虽然任何人都可以注册并编辑其内容。但是&#x…...

USB鼠标实现——HID 报告的返回(八)

文章目录HID 报告的返回仓库地址USB 鼠标阅读顺序报告返回HID 报告的返回 仓库地址 仓库地址 USB 鼠标阅读顺序 枚举过程USB鼠标实现——设备描述符(一)USB鼠标实现——设置地址(二)USB鼠标实现——配置描述符集合&#xff08…...

DOPE PEG Maleimide,DOPE-PEG-Mal,二油酰磷脂酰乙醇胺PEG马来酰亚胺

文章关键词:高分子PEG,DOPE,聚乙二醇化修饰试剂基团反应特点: DOPE PEG Maleimide是一种由 DOPE 和马来酰亚胺基团组成的 PEG 化合物。基础产品数据: CAS号:N/A 中文名:1,2-二油酰-SN-甘油-3-磷…...

python-课后作业-2

1.Python 3.x的range()函数返回一个:可迭代的序列对象 注意: Python 3.x的range()函数返回一个可迭代的序列对象,其中包含指定范围内的整数。range()函数的语法如下: range([start], stop[, step]) 其中,start表示序…...

redis 六. list应用场景及底层分析

List 类型一. 简单命令示例二. java 操作示例三. 使用场景四. 底层分析一. 简单命令示例 1.首先简单说明: List是一个双端链表的结构,内容是2的32次方减1个元素,大概40多亿,主要功能有push/pop等,一般用在栈,队列,消息队列等场景 2.简单命令 //1.向列表左边添加元素 LPUSH ke…...

成语填字接龙隐私政策

1. 适用范围 (a) 在您注册本应用帐号时,您根据本应用要求提供的个人注册信息; (b) 在您使用本应用网络服务,或访问本应用平台网页时,本应用自动接收并记录的您的浏览器和计算机上的信息,包括但不限于您的IP地址、浏览…...

导出LKD3588开发板的根文件系统

序:将RK3588上的整个根文件系统的文件通过ssh拷贝到PC系统(虚拟机) 工具:RK3588上的ubuntu系统需要安装:ssh, rsync。 PC电脑(虚拟机)上安装:ssh, rsync。 安装ssh 和rsync不做介绍,百度里面全是,也很简单需要设置开发板root权限的密码,因为后面同步文件的时候会用到…...

【统计模型】某地区土壤所含可给态磷回归分析

目录 某地区土壤所含可给态磷回归分析 一、研究目的 二、数据来源和相关说明 三、描述性分析 3.1 样本描述 3.2 数据可视化 四、数据建模 4.1 回归模型A 4.2 回归模型B 4.3 回归模型B模型诊断 4.4 回归模型C 五、结论及建议 5.1 结论 5.2 建议 六、代码 某地区土…...

redis 十. 线程基础

目录一. redis 基础复习与了解redis6二. redis 线程问题总结一. redis 基础复习与了解redis6 redis官网, redis中文网站, redis命令参考网站此处以redis6.0.8或以上版本为例(查看自己redis版本命令"redis- server -v")按照redis6以上版本测试使用时,redis.conf下需要…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

C++ 设计模式 《小明的奶茶加料风波》

👨‍🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...

JS红宝书笔记 - 3.3 变量

要定义变量,可以使用var操作符,后跟变量名 ES实现变量初始化,因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符,可以创建一个全局变量 如果需要定义…...

Qt学习及使用_第1部分_认识Qt---Qt开发基本流程

前言 学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面. 参考书:<Qt 6 C开发指南>(以下称"本书") 标识说明:概念用粗体倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字), 本书原话内容用深蓝色标识,比较重要的内容用加粗倾…...

Ansible+Zabbix-agent2快速实现对多主机监控

ansible Ansible 是一款开源的自动化工具&#xff0c;用于配置管理&#xff08;Configuration Management&#xff09;、应用部署&#xff08;Application Deployment&#xff09;、任务自动化&#xff08;Task Automation&#xff09;和编排&#xff08;Orchestration&#xf…...

智能照明系统:具备认知能力的“光神经网络”

智能照明系统是物联网技术与传统照明深度融合的产物&#xff0c;其本质是通过感知环境、解析需求、自主决策的闭环控制&#xff0c;重构光与人、空间、环境的关系。这一系统由智能光源、多维传感器、边缘计算单元及云端管理平台构成&#xff0c;形成具备认知能力的“光神经网络…...

5. TypeScript 类型缩小

在 TypeScript 中&#xff0c;类型缩小&#xff08;Narrowing&#xff09;是指根据特定条件将变量的类型细化为更具体的过程。它帮助开发者编写更精确、更准确的代码&#xff0c;确保变量在运行时只以符合其类型的方式进行处理。 一、instanceof 缩小类型 TypeScript 中的 in…...