首页 > 编程语言 >0基础学python-17:文件读写

0基础学python-17:文件读写

时间:2024-07-18 23:28:27浏览次数:20  
标签:fp 文件 f2 17 python 读写 位置 print

目录

前言

文件读写三步走:

        打开文件-->读写文件-->关闭文件

一、打开文件

1.文件位置

绝对位置:

相对位置:

2.open()方法

二、读写文件

1.读取文件

2.写入文件

三、关闭文件

1.close()

2.with语句


前言

        读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。

         在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)

 

文件读写三步走:

        打开文件-->读写文件-->关闭文件

 

一、打开文件

        在打开文件之前先学习一下文件的位置这个概念

1.文件位置

        在文件系统中,位置可以分为绝对位置和相对位置,它们决定了文件或目录在文件系统中的位置。

绝对位置:

       绝对位置是文件或目录在文件系统中的完整路径,从根目录开始直到文件或目录的位置。它不依赖于当前工作目录。

例如,在Windows系统中的绝对位置可能是:

  • C:\Users\Username\Documents\file.txt
  • D:\Projects\myproject\data\output.csv

可以看出,绝对位置是从盘符开始的。

相对位置:

        相对位置是相对于当前工作目录或另一指定目录的路径。它不包含根目录,而是相对于某个基准位置的路径。

例如,在当前工作目录为 C:\Users\Username\Documents\ 的情况下,相对路径可能是:

  • file.txt (相对于当前目录)
  • ../Data\output.csv (相对于当前目录的上级目录中的 Data 文件夹)

相对位置里用./表示同级目录下的文件,用../表示上级目录下的文件

 

2.open()方法

        open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)

完整形式

参数说明

  • file: 必需,文件路径(相对或者绝对路径)
  • mode: 可选,文件打开模式,默认为r
  • encoding: 一般使用utf8编码

代码实例

#绝对路径
# 打开文件 "D:/Code/python_code/day07/fp",以写入模式进行操作,并指定编码为 UTF-8
fp = open(r"D:/Code/python_code/day07/fp", "w", encoding="utf8")

#相对路径
# 打开相对路径 "../day08/HomeWork" 的文件,以读取模式进行操作,并指定编码为 UTF-8
f2 = open(r"../day08/HomeWork", "r", encoding="utf8")

# ========= ===============================================================
# Character Meaning
# --------- ---------------------------------------------------------------
# 'r'       打开文件用于读取(默认模式)
# 'w'       打开文件用于写入,先截断文件(即清空文件内容)
# 'x'       创建新文件并打开用于写入
# 'a'       打开文件用于写入,如果文件存在则追加到文件末尾
# 'b'       二进制模式
# '+'       打开文件用于读写(更新)
# ========= ===============================================================
# 不同mode可以相互灵活组合:r、rb、w、wb等

 

 

二、读写文件

1.读取文件

文件内容如下

#作业
1、将身边的一个事物抽象出一个类。比如老师、学生、桌子、椅子、苹果、香蕉、枕头、被子或任意物品
-提供基本属性、基本的方法。
-通过类创建出几个不同的对象。
-打印它们的属性、调用它们的方法。
```python
```
2、题目 求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。带上tryexcept。
```python
```

代码实例

f2 = open(r"../day08/HomeWork", "r", encoding="utf8")

# read 不传参 取所有数据
# read 传参 取几个字符
# 读取时候 如果同一次读取 就继续往后读
print(f2.read(1))
print(f2.read(1))
print(f2.readline())
print(f2.readline())

# readline 不带参数 读取一行
# 带参数 读几个字符
print(f2.readline(6))
# 参数如果过大 也不会超过这一行
print(f2.readline(100))

# readlines 返回的参数数列表
# 参数没到一行 读一行  参数超过一行读完下一行
print(f2.readlines(34))
# 读取所有的行 存入列表中
print(f2.readlines())

f2.close()   # 关闭文件

输出:注释的内容就是每一行打印出来的代码的原因

#     # print(f2.read(1))
作    # print(f2.read(1))
业    # print(f2.readline())

1、将身边的一个事物抽象出一个类。比如老师、学生、桌子、椅子、苹果、香蕉、枕头、被子或任意物品    
 # print(f2.readline())

-提供基本属    # print(f2.readline(6))
性、基本的方法。 # print(f2.readline(100))

['-通过类创建出几个不同的对象。\n', '-打印它们的属性、调用它们的方法。\n', '```python\n']
 # print(f2.readlines(34))

['```\n', '2、题目 求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。带上tryexcept。\n', '```python\n', '```']
# print(f2.readlines())

 

2.写入文件

代码实例

fp = open(r"D:/Code/python_code/day07/fp", "w", encoding="utf8")

# 写文件
# write 往里写入字符串
fp.write("nihao helloworld\n")
print(fp.writable())  # 判断文件的可写性,可写输出True,否则输出False
fp.writelines("nihao\n")

# writelines可以写入字符串列表 把列表合并成大字符串
fp.writelines(["asdad", "dasdadada", "\n", "eeeeee"])

fp.close()  # 关闭文件

输出:写入文件操作,若所用位置无该文件,则会创建该文件。

True  # 由fp.writable()判断得出
nihao helloworld
nihao
asdaddasdadada
eeeeee

 

三、关闭文件

        关闭文件是一个重要的操作,用于释放系统资源并确保文件内容正确地保存到磁盘

1.close()

使用

文件名.close()

即可关闭文件。

 

2.with语句

        为了确保文件在处理完毕或发生异常时也能正确关闭,推荐使用 with 语句来自动管理文件的关闭

# 使用 with 语句打开文件,自动关闭文件
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

# 在 with 语句块之外,文件会自动关闭


        两种方法各有优缺点,进行简单的文件操作,如果能一次性写完,用with语句比较好;进行比较复杂的操作,比如循环写入文件,若总是开关文件,会对文件造成较大损耗,此时用close()则比较好。

标签:fp,文件,f2,17,python,读写,位置,print
From: https://blog.csdn.net/weixin_65047977/article/details/140534028

相关文章

  • 【Python爬虫实战入门】:笔趣阁小说爬取,一篇教你爬虫入门
    文章目录......
  • Python模块之datetime
    模块作用简介:Pythontimestrptime()函数根据指定的格式把一个时间字符串解析为时间元组。官方英文帮助:https://docs.python.org/3/library/官方简体中文帮助:https://docs.python.org/zh-cn/3/library/必要操作:>>>fromdatetimeimportdatetime安装:python......
  • Python按照图片尺寸(毫米mm)调整图片尺寸(像素pixel)
    #按照图片尺寸(毫米mm)调整图片尺寸(像素)defresize_image_by_mm(input_image_path,output_image_path,width_mm=35,height_mm=49):"""输入参数::paraminput_image_path:原图片路径:paramoutput_image_path:输出图片路径:paramwidth_mm:默认2英寸证......
  • python—正则表达式
    文章目录导入re模块常用的元字符re模块match方法分组贪婪匹配编译Python中的正则表达式是一种强大的文本处理工具,它使用一种特殊的语法来描述字符串的模式。Python通过re模块提供了对正则表达式的支持。使用正则表达式,你可以进行复杂的文本搜索、替换和验证等操作。......
  • python的异常处理
    文章目录语法错误(SyntaxError)六种典型的异常捕获异常抛出异常用户自定义异常Python的异常处理机制允许你在程序运行时捕获和处理错误。这对于提高程序的健壮性和用户体验至关重要。Python使用try和except语句来捕获和处理异常。你还可以使用else和finally子......
  • python中的接口(通过相关的模块实现)
    在Python中,接口通常通过抽象基类(AbstractBaseClasses,简称ABCs)来实现。抽象基类提供了一个机制,用于定义一组方法和属性,这些方法和属性必须在子类中实现。Python提供了abc模块来定义抽象基类。抽象基类(ABCs)定义抽象基类要定义一个抽象基类,需要从abc.ABC继承,并使用a......
  • 在Python中doc转docx,xls转xlsx,ppt转pptx(Windows)
    在Python中doc转docx,xls转xlsx,ppt转pptx(Windows)说明:首次发表日期:2024-07-18参考pypi包:doc2docx缘起我们一般使用Python开发RAG应用,或者使用基于Python开发的开源RAG工具,比如Dify。然而由于Python中对.doc和.ppt格式的文件支持不够好,通常我们需要将文件格式转换为.docx和.p......
  • python中的迭代器
    在Python中,迭代器是一种对象,它实现了迭代协议,即包含方法__iter__()和__next__()。迭代器允许你遍历一个容器(如列表、元组等)中的所有元素,而无需显式地使用索引。理解迭代器的概念和使用可以帮助你编写更高效、可读性更强的代码。迭代器的基本概念迭代器对象:实现了__iter__......
  • 【Azure Function】发布 Python Function 到 Azure 成功,但是无法显示Function列表
    问题描述发布PythonFunction到AzureFunctionApp服务,发布成功后,在Overview页面却无法查看到这个Function,进入Kudu站点,查看FunctionLog,发现错误信息为:"module not found" error:"FailureException:ImportError:libpq.so.5:cannotopensharedobjectfile:Nosuchf......
  • 十天学会Python——第8天:Linux基础
    1Linux基础1.1认识LinuxLinux目录:1Linux系统只有一个根目录/,所有原文件都在它下面2Linux主要目录/:根目录/bin:可执行的二进制文件的目录/etc:系统配置文件存放的目录/home:用户家目录1.2Linux基础命令1.2.1查看目录命令命令说明ls查看当前路径的目录信......