文件处理

在Python中处理文件的关键函数是open()函数。有四种不同的方法(模式)来打开一个文件

"r" - 读取 - 默认值。打开一个文件进行读取,如果文件不存在则出错。

"a" - Append - 打开一个文件进行追加,如果文件不存在则创建该文件

"w" - 写 - 打开一个文件进行写入,如果不存在则创建文件

"x" - 创建 - 创建指定的文件,如果文件存在则返回错误。

此外,你还可以指定文件应以二进制或文本模式处理。

"t" - 文本 - 默认值。文本模式

"b" - 二进制 - 二进制模式(如图像)。

要打开一个文件进行阅读,只需指定文件的名称即可

f = open("demofile.txt")

上面的代码与

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

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

注意:确保该文件存在,否则你会得到一个错误。

读取文件

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

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

如果文件位于一个不同的位置,你将不得不指定文件路径,像这样

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

只读文件的部分内容

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

读取行

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() #open and read the file after the appending:
f = open("demofile2.txt", "r")
print(f.read())
f = open("demofile3.txt", "w")
f.write("Woops! I have deleted the content!")
f.close() #open and read the file after the appending:
f = open("demofile3.txt", "r")
print(f.read())

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

要在Python中创建一个新的文件,使用open()方法,并带有以下参数之一

"x" - 创建 - 将创建一个文件,如果该文件存在则返回错误

"a" - 附加 - 如果指定的文件不存在将创建一个文件

"w" - 写 - 如果指定的文件不存在,将创建一个文件

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")

注意:你只能删除空文件夹。

您的关注,是我的无限动力!

公众号 @生活处处有BUG

Python入门系列(十)一篇学会python文件处理的更多相关文章

  1. 孤荷凌寒自学python第八十天开始写Python的第一个爬虫10

    孤荷凌寒自学python第八十天开始写Python的第一个爬虫10 (完整学习过程屏幕记录视频地址在文末) 原计划今天应当可以解决读取所有页的目录并转而取出所有新闻的功能,不过由于学习时间不够,只是进 ...

  2. 孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9并使用pydocx模块将结果写入word文档

    孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 到今天终于完成了对docx模块针对 ...

  3. 孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6

    孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 不过由于对python-docx模 ...

  4. 孤荷凌寒自学python第五十九天尝试使用python来读访问远端MongoDb数据服务

    孤荷凌寒自学python第五十九天尝试使用python来读访问远端MongoDb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第五天.今天的感觉是,mongoDB数 ...

  5. 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档

    孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...

  6. python入门(4)第一个python程序

    python入门(4)第一个python程序 在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果.现在,试试输入100+200,看看计算结果是不是300: ...

  7. Python(四)基础篇之「文件对象&错误处理」

    [笔记]Python(四)基础篇之「文件对象&错误处理」 2016-12-08 ZOE    编程之魅  Python Notes: ★ 如果你是第一次阅读,推荐先浏览:[重要公告]文章更新. ...

  8. Python入门系列【附】进阶教程

    如题,本篇将讲解Python提升之路:Python作为语法简单易学的语言,入门容易精通却很难,这是共识,那么为什么会有这样的共识?精通Python的难度在哪里? Python拥有简单.形象.直观的语法 ...

  9. Python之路,第一篇:Python入门与基础

    第一篇:Python入门与基础 1,什么是python? Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 2,python的特征: (1)易于学习,易于利用: (2)开 ...

  10. 2018最新Python小白入门教程,30天学会Python

    随着Python的技术的流行,Python在为人们带来工作与生活上带来了很多的便捷,因为Python简单,学起来快,也是不少新手程序员入门的首选语言.作为一名Python爱好者,我也想跟大家分享分享我 ...

随机推荐

  1. WPF开发随笔收录-获取软件当前目录的坑

    一.唠唠叨叨 软件开发过程中,经常需要使用到获取exe当前目录这个功能,前同事在实现这个需求时使用的是Directory.GetCurrentDirectory()这个方法,但再最近的测试中,突然发现 ...

  2. UiPath官方视频Level2

    [UiPath官方视频Level2]Lesson Orchestrator-第5部分 https://www.bilibili.com/video/av81414017 [UiPath官方视频Leve ...

  3. Pyinstaller打包pikepdf失败的问题排查

    问题 最近在项目里用到了pikepdf这个库,用于实现pdf水印插入的一个小功能,源码调试阶段运行一切OK但是在出包时报了如下异常. Traceback (most recent call last) ...

  4. Linux,Centos系统下配置java Jdk(附下载地址)

    一.下载jdk 官网下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 需要登录Oracle ...

  5. P1494 小Z的袜子 莫队

    题干 就是将$add$和$del$函数里的$ans$变化变成组合数嘛, 先预处理出$x$只相同袜子一共有$f[x] = 1+2+...+$$(x-1)$种组合, 要注意,由于$f[x]$是一直加到$x ...

  6. 【PostgreSQL 】PostgreSQL 15对distinct的优化

    示例表 table t_ex; c1 | c2 ----+---- 2 | B 4 | C 6 | A 2 | C 4 | B 6 | B 2 | A 4 | B 6 | C 2 | C 以下SQL语 ...

  7. 5-4 Sentinel 限流_流控与降级

    Sentinel 介绍 什么是Sentinel Sentinel也是Spring Cloud Alibaba的组件 Sentinel英文翻译"哨兵\门卫" 随着微服务的流行,服务和 ...

  8. Java 技术栈中间件优雅停机方案设计与实现全景图

    欢迎关注公众号:bin的技术小屋,阅读公众号原文 本系列 Netty 源码解析文章基于 4.1.56.Final 版本 本文概要 在上篇文章 我为 Netty 贡献源码 | 且看 Netty 如何应对 ...

  9. 第五天python3 内建函数总结

    id()  返回对象在内存中的地址 hash() 返回对象的hash值 type() 返回对象的类型 float() int() bin() hex() oct() bool() list() tup ...

  10. [RCTF2015]EasySQL-1|SQL注入

    1.打开之后只有登录和注册两个功能,界面如下: 2.随便注册一个账户并进行登录,(注册admin时显示该账户已存在,考虑到是不是要获取到admin账户),发现可以进行改密操作,结果如下: 3.抓取各个 ...