首页 > 编程语言 > Python 文件处理指南:打开、读取、写入、追加、创建和删除文件

Python 文件处理指南:打开、读取、写入、追加、创建和删除文件

时间:2023-11-06 21:22:51浏览次数:28  
标签:文件 demofile 读取 Python print txt open

文件处理是任何Web应用程序的重要部分。Python有多个用于创建、读取、更新和删除文件的函数。

文件处理

在Python中处理文件的关键函数是open()函数。open()函数接受两个参数:文件名和模式。

有四种不同的方法(模式)可以打开文件:

  • "r" - 读取 - 默认值。打开一个文件以进行读取,如果文件不存在则报错。
  • "a" - 追加 - 打开一个文件以进行追加,如果文件不存在则创建文件。
  • "w" - 写入 - 打开一个文件以进行写入,如果文件不存在则创建文件。
  • "x" - 创建 - 创建指定的文件,如果文件存在则返回错误。

此外,您可以指定文件是二进制模式还是文本模式:

  • "t" - 文本 - 默认值。文本模式。
  • "b" - 二进制 - 二进制模式(例如,图像)。

语法

要打开一个文件进行读取,只需指定文件的名称:

f = open("demofile.txt")

上述代码与以下代码等效:

f = open("demofile.txt", "rt")

因为"r"表示读取,"t"表示文本,它们是默认值,您不需要指定它们。

打开服务器上的文件

假设我们有以下文件,位于与Python相同的文件夹中:

demofile.txt
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!

要打开该文件,使用内置的open()函数。

open()函数返回一个文件对象,该对象具有用于读取文件内容的read()方法:

f = open("demofile.txt", "r")
print(f.read())

如果文件位于不同的位置,您将不得不指定文件路径,如下所示:

f = open("D:\\myfiles\\welcome.txt", "r")
print(f.read())

只读取文件的一部分

默认情况下,read()方法返回整个文本,但您也可以指定要返回多少个字符:

f = open("demofile.txt", "r")
print(f.read(5))

读取行

您可以使用readline()方法返回一行:

f = open("demofile.txt", "r")
print(f.readline())

通过调用readline()两次,您可以读取前两行:

f = open("demofile.txt", "r")
print(f.readline())
print(f.readline())

通过循环遍历文件的各行,您可以一行一行地读取整个文件:

f = open("demofile.txt", "r")
for x in f:
  print(x)

关闭文件

最佳实践是在使用完文件后始终关闭它。

f = open("demofile.txt", "r")
print(f.readline())
f.close()

写入现有文件

要写入现有文件,您必须向open()函数添加一个参数:

  • "a" - 追加 - 将追加到文件的末尾。
  • "w" - 写入 - 将覆盖任何现有内容。
f = open("demofile2.txt", "a")
f.write("Now the file has more content!")
f.close()

要检查文件是否位于不同的位置,您将不得不指定文件路径,如下所示:

f = open("demofile3.txt", "w")
f.write("Woops! I have deleted the content!")
f.close()

注意:使用"w"方法将覆盖整个文件。

创建新文件

要在Python中创建新文件,请使用open()方法,使用以下参数之一:

  • "x" - 创建 - 如果文件存在则返回错误。
  • "a" - 追加 - 如果指定的文件不存在,将创建文件。
  • "w" - 写入 - 如果指定的文件不存在,将创建文件。
f = open("myfile.txt", "x")

结果:创建了一个新的空文件!

f = open("myfile.txt", "w")

删除文件

要删除文件,您必须导入OS模块,并运行其os.remove()函数:

import os
os.remove("demofile.txt")

检查文件是否存在:

为了避免出现错误,您可能希望在尝试删除文件之前检查文件是否存在:

import os
if os.path.exists("demofile.txt"):
  os.remove("demofile.txt")
else:
  print("The file does not exist")

删除文件夹

要删除整个文件夹,请使用os.rmdir()方法:

import os
os.rmdir("myfolder")

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

image

标签:文件,demofile,读取,Python,print,txt,open
From: https://www.cnblogs.com/xiaowange/p/17813766.html

相关文章

  • Python50days
    筛选器方法document.getElementById()-------标签对象-------标签jQuery对象$(document.个体、ElementById())----------jQuery对象----------可以使用jQuery对象提供的方法如何把jQuery对象转为标签对象  $===jQuery$()[0]$("#id")===jQuery("#id") 菜单例子 hide—......
  • `Python 2.x` 与 `3​​.x` 版本简介
    目前市场上有两个Python的版本并存着,分别是Python2.x和Python3.x新的Python程序建议使用Python3.0版本的语法Python2.x是过去的版本解释器名称是pythonPython3.x是现在和未来主流的版本解释器名称是python3相对于Python的早期版本,这是一个较大的升级为了不......
  • Python_Flask视图类和蓝图
    Flask视图类1.设置路由的新方法:将URL路径和一个视图类关联将URL路径和一个函数关联,这个函数又被称为视图函数在Flask中,也可以使用类来处理相关的URL,这样的也被称为视图类。使用类视图的好处是支持继承,可以把一些共性的东西放在父类中,其他子类可以继承###......
  • 如何防止用户阅读Python代码?
    内容来自DOChttps://q.houxu6.top/?s=如何防止用户阅读Python代码?我正在使用Python开发一款软件,该软件将被分发给我雇主的客户。我的雇主希望通过受限时许可证文件来限制软件的使用。如果我们分发.py文件或甚至.pyc文件,那么将很容易(反编译和)删除检查许可证文件的代码。另一......
  • 代码训练营第二十五天(Python)| 216.组合总和III 、17.电话号码的字母组合
    216.组合总和IIIclassSolution:defcombinationSum3(self,k:int,n:int)->List[List[int]]:res=[]self.tracebacking(n,k,1,0,[],res)returnresdeftracebacking(self,targetsum,k,start,now_sum,path,res):......
  • linux 文件夹乱码如何重命名和删除
    当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了但是每个文件都有一个i节点号,可以通过i节点号来管理文件。首先,要取得文件的i节点号。这个可以通过ls命令的-i选项获得得$ls-i删除:$find.-inum32983551-execrm{}\;重......
  • 文件上传
    .htaccess定义:htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。.htaccess主要的作用有:URL重写、自定义错误页面、MIME类型配置以及访问权限控制等。主要体现在伪静态的应用、图片防盗链、自定义404错误页面、阻止/允许特定IP/IP段、目录浏览与主页、禁......
  • Python如何写注释?
    python如何写给函数写注释:样板:defread_baseline(self,sheet='internal',category='ipe_flip',):"""功能:-从baseline的Excel文件中读取数据。参数:-sheet:要读取的sheet名称,默认为internal-catego......
  • 上传大文件的解决方案
    需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步:前端修改由于项目使用的是BJUI前端框架,并没有使用框架本身的文件上传控件,而使用的基于jQuery的Uploadify文件上......
  • 【工具包使用】解析txt标注文件
    前言 codeimportosdefparse_onedata(data):print('data:',data)info=data['info']image=data['image']valid=data['valid']rotation=data['rotation']categories=data[&#......