首页 > 编程语言 >如何系统得自学python?——11.文件操作

如何系统得自学python?——11.文件操作

时间:2024-03-27 11:02:11浏览次数:39  
标签:11 文件 name python 备份 new 自学 打开 os

一、文件操作的作用

  •  ⽂件操作包含:打开、关闭、读、写、复制......
  • ⽂件操作的的作⽤是:读取内容、写⼊内容、备份内容......
  • ⽂件操作的作⽤就是把⼀些内容(数据)存储存放起来,可以让程序下⼀次执⾏的时候直接使⽤,⽽不必重新制作⼀份,省时省⼒ 。

 

二、文件操作方式

1.文件操作的基本步骤打开⽂件

打开

在python,使⽤open函数,可以打开⼀个已经存在的⽂件,或者创建⼀个新⽂件,语法如下:
open(name,mode)
name:是要打开的⽬标⽂件名的字符串(可以包含⽂件所在的具体路径)。
mode:设置打开⽂件的模式(访问模式):只读、写⼊、追加等。

2.文件对象方法

r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+:打开一个文件用于读写。文件指针将会放在文件的开头。
rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
 w+ :打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a  :打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
 ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+  :打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ :以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

写入操作

w

f.write("内容") 

 

# 打开文件
f = open("test.txt","w",encoding="utf-8")

# 写入内容
f.write("大家好呀,我是张三")

# 关闭文件
f.close()

a

# 打开文件
f = open("test.txt","a",encoding="utf-8")

# 写入内容
f.write("大家好呀,我是张三")

# 关闭文件
f.close()
w 和 a 模式:如果⽂件不存在则创建该⽂件;如果⽂件存在, w 模式先清空再写⼊, a 模式直接末尾追加。

读取操作

 

read(num)

num表示要从⽂件中读取的数据的⻓度

 

# 打开文件
f = open("test.txt","r+",encoding="utf-8")

# 读取信息
content = f.read()

# 将读取的信息打印
print(content)

# 关闭文件
f.close()

readlines()和readline()

readlines可以按照⾏的⽅式把整个⽂件中的内容进⾏⼀次性读取,并且返回的是⼀个列表,其中每⼀⾏的数据为⼀个元素
# 打开文件
f = open("test.txt","a",encoding="utf-8")

# 读取内容
content = f.readlines()
print(content)

# 关闭文件
f.close()

seek()

 作⽤:⽤来移动⽂件指针。

⽂件对象.seek(偏移量, 起始位置)
~~~

0:⽂件开头
1:当前位置
2:⽂件结尾

⽂件备份

需求:⽤户输⼊当前⽬录下任意⽂件名,程序完成对该⽂件的备份功能(备份⽂件名为xx[备份]后缀,例如:demo[备份].txt)
1. 接收⽤户输⼊的⽂件名
2. 规划备份⽂件名
3. 备份⽂件写⼊数据

代码实现

 接收⽤户输⼊⽬标⽂件名

  1. 提取⽬标⽂件后缀
  2. ​组织备份的⽂件名,xx[备份]后缀
name = input("请输入文件名:")

# 后缀中.的下标
index = name.rfind(".")

# print(name[:index])
# print(name[index:])

new_name = name[:index]+"备份"+name[index:]
print(new_name)

备份⽂件写⼊数据

  1.  打开源⽂件 和 备份⽂件 ​
  2. 将源⽂件数据写⼊备份⽂件 ​
  3. 关闭⽂件
# -*- coding:utf-8 -*-
old_name = input("请输入文件名:")
index = old_name.rfind(".")

# print(name[:index])
# print(name[index:])

new_name = old_name[:index]+"备份"+old_name[index:]

old_f = open(old_name,"rb")
new_f = open(new_name,"ab")

while True:
    cont = old_f.read()
    if len(cont) == 0:
        break
    new_f.write(cont)

old_f.close()
new_f.close()

文件和文件夹的操作

在Python中⽂件和⽂件夹的操作要借助os模块⾥⾯的相关功能:
导入os模块

~~~python
import os
~~~

⽂件重命名

~~~python
os.rename(⽬标⽂件名, 新⽂件名)
~~~

删除⽂件

~~~python
os.remove(⽬标⽂件名)
~~~

创建⽂件夹

~~~python
os.mkdir(文件名名字)
~~~

删除⽂件夹

~~~python
os.rmdir(⽂件夹名字)
~~~

获取当前⽬录

~~~
os.getcwd()
~~~

改变默认⽬录

~~~
os.chdir(⽬录)
~~~

获取⽬录列表

~~~
os.listdir(⽬录)

 批量重命名

文件夹添加字符串
import os

file_list = os.listdir("E:\python_basics")
print(file_list)
for file in file_list[1:]:
    new_name = "python_" + file
    os.rename(file,new_name)

文件夹删除字符串

 

file_list = os.listdir()
num = 2
for file in file_list[1:]:
    if num == 1:
        new_name = "python_" + file
    elif num == 2:
        result = len("python_")
        new_name = file[result:]
    os.rename(file,new_name)

标签:11,文件,name,python,备份,new,自学,打开,os
From: https://blog.csdn.net/weixin_66370632/article/details/137068924

相关文章

  • Proteus8.0仿真应用设计(十七)基于FreeRTOS、STM32F103C8、HAL库、DHT11、LCD12864的温
    一、简介:        DHT11是一款湿、温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个NTC测温元件。DHT11与单片机之间能采用简单的单总线进行通信,仅仅需要一个I/O口。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。传感器内部......
  • System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3
    VS2022.netCore5.0项目编译没问题,运行时报这个错System.IO.FileNotFoundException:“Couldnotloadfileorassembly'System.Runtime,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'.系统找不到指定的文件。” 我这里遇到这个问题的原因是,v......
  • Python程序打包成exe、隐藏运行窗口
    Python隐藏运行窗口的实现方法1.流程图st=>start:开始op1=>operation:创建Python脚本op2=>operation:添加代码op3=>operation:保存脚本op4=>operation:编译脚本op5=>operation:生成可执行文件op6=>operation:隐藏运行窗口e=>end:完成st->op1->op2->op3->op4......
  • S-073N 3BHB009884R5211 高压电子元件 用于控制和调整信号的相位
    S-073N3BHB009884R5211高压电子元件是一款专为高压场合设计,用于控制和调整信号相位的电子元件。它集成了多种先进功能,能够满足复杂和精细的相位控制需求。在高压环境中,该电子元件能够实现精确的高压电机控制,从而提高系统的稳定性和效率。它内置的过载保护、短路保护、欠压保......
  • 没有Python基础,如何学习用Python写机器学习
    前言我是一个完全没用过python的人,所以,想写机器学习,就得从语法入手。首先上W3cSchool去学习基础语法。基础语法都差不多,重点看一下函数,模块,面向对象。函数的写法稍有不同,格式上类似yml的写法;模块会介绍import的相关信息;面向对象会介绍类的相关信息。参考网站:https://www.w3c......
  • Python接口自动化测试的学习笔记9——logging日志
    1、引言在进行Python接口自动化测试时,日志记录是一项至关重要的任务,它可以帮助开发者追踪测试过程中的详细信息,包括请求与响应数据、错误消息、调试信息等,从而有效地定位问题并提高测试效率。下面,我们将探讨如何在Python接口自动化测试项目中构建和配置一个强大的日志记录系统......
  • python的应用 | 提取指定文件夹下所有PDF文件的页数
    需求背景:由于要打印几十页pdf,跟打印店对接的时候,为了防止被坑,提前了解一下,所有文档一共有多少页,于是想到了用python来提取pdf文件的页数完整代码:importosfromPyPDF2importPdfReaderdefget_pdf_page_count(folder_path):#初始化总页数变量total_pages=0......
  • LM1117
    本文是德州仪器(TexasInstruments)关于LM1117-N和LM1117I系列800mA低压差线性稳压器的数据手册。这份文件详细介绍了这两款稳压器的特性、应用、典型电路以及包装信息等。以下是对文档内容的翻译和详细解读:产品特性和描述低压差稳压器:LM1117-N和LM1117I是一系列低压差稳压......
  • Python-VBA编程500例-020-02(入门级)
    第k个组合(ThekthCombination)的问题在实际应用中具有广泛的用途,它涉及从n个不同元素中选出k个元素的所有可能组合。这种组合的概念在许多领域都有重要的应用,常见的一些具体应用有:1、彩票与赌博:在某些彩票或赌博游戏中,参与者需要选择特定数量的号码或符号。这些号码或符号的......
  • [Python]细节与使用经验
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/18031983出自【进步*于辰的博客】纯文字阐述,内容比较干。并且,由于考虑到时间长了恐有所遗漏,便即兴记录,并没有对内容进行筛选、排序。因此,大家在阅读时可以直接Ctrl+F进行......