当前位置: 首页 > 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下需要…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

线程同步:确保多线程程序的安全与高效!

全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

HTML 列表、表格、表单

1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

uniapp中使用aixos 报错

问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...