首页 > 编程语言 >Working With Files in Python

Working With Files in Python

时间:2023-09-07 09:24:08浏览次数:55  
标签:Files 文件 None Working Python open os 目录

文件操作

Python中文件的读和写

参考文档Working With Files in Python
Python的读写非常简单,但是需要在合适的模式下打开。通常都是使用以下规范的操作来进行:

i.   打开文件 open()
ii.  读写文件 read()、write()
iii. 关闭文件 close()

这是一个简单的例子:

with open('data.txt','r') as f:
    data = f.read()
    print ('content:{}'.format(data))

with...as 用于管理资源的上下文,并确保在使用完资源后正确地释放它们。它通常用于处理文件、网络连接、数据库连接等需要手动关闭的资源。无论代码块中是否发生异常,资源都将被正确关闭。一旦代码块结束,资源将自动释放,无需手动调用关闭方法或释放资源。
在Python中,open()是一个内置函数,用于打开文件并返回一个文件对象。它的一般用法如下:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  1. open()函数接受多个参数,这里列举其中一些常用的参数:
  • file:表示要打开的文件名(包括路径),可以是字符串类型或字节类型。

  • mode:表示文件的打开模式,它是一个字符串参数。常用的模式有:

    • 'r':表示以只读方式打开文件(默认)。
    • 'w':表示以写入方式打开文件,会清空已有的内容。
    • 'a':表示以追加方式打开文件,在已有文件末尾进行写入。
  • encoding:表示文件的编码方式,用于读取或写入文件时进行解码和编码,默认为None,表示使用系统默认的编码方式。

  • newline:表示在文本模式下换行符的处理方式,可以是None(使用系统默认值)、''(转换为'\n')或'r'(保持原样)。

  • 请注意, open()函数返回的文件对象在使用完毕后应该调用close()方法来关闭文件。然而,使用with语句可以自动处理文件的关闭,不必手动关闭文件。

  1. read() 返回文件的全部内容,是一个str类型,有一个可选参数位 size=-1 默认是读取文件的全部内容。当文件过大时,可能会占用大量的内存,所以可以用逐行读入的方法。

  2. readline() 是用于从文件对象中读取单独一行内容的方法。它会读取文件中当前位置直到遇到换行符 (\n) 为止的内容。该方法可以多次使用.

  3. 文件指针 用于标记从哪个位置开始读取数据,第一次打开文件时,通常文件指针会指向文件的开始位置,当执行了 read 方法后,默认情况下文件指针会移动到读取内容的末尾。

  4. write() 用于将字符串或者字节串写入到文件中。它会将指定的内容写入到文件指针所指向的位置。

Python中文件和目录的管理

使用时需要调入 os 包。

序号 方法名 解释 示例
1 rename() 重命名文件 os.rename(源文件名,目标文件名)
2 remove() 删除文件 os.remove(文件名)
3 listdir() 目录列表 os.listdir(目录名)
4 mkdir() 创建目录 os.mkdir(目录名)
5 rmdir() 删除目录 os.rmdir(目录名)
6 getcwd() 获取当前目录 os.getcwd()
7 chdir() 修改工作目录 os.chdir(目标文件)
8 path.isdir() 判断是否是文件 os.path.isdir(文件路径)
import os
os.rename()
# 可以修改文件的名字,也可以修改目录的名字
os.remove()
# 只能用于删除文件,不能删除目录;如果删除的文件不存在或者对文件的操作权限不够会抛出异常
os.listdir()
# 返回的是一个包含目录下所有文件和子目录名称的列表,不会列出子目录中的文件和子目录。
os.mkdir()
# 在指定路径下创建目录
os.rnmdir()
# 删除指定的目录

标签:Files,文件,None,Working,Python,open,os,目录
From: https://www.cnblogs.com/Tatsukyou/p/17683959.html

相关文章

  • python基础 05流程控制
    流程控制你现在在十字路口,过马路。如果看到绿灯就过马路;否则看到红灯就等待if就是如果的意思light='red'iflight=='red':print('等')eliflight=='green' print('过')最简单的if(单分支结构)<代码块1>if<条件>:<代码块2>#当条件为True的时......
  • pip install ale_python_interface 安装报错,ModuleNotFoundError: No module named 'a
    参考:https://www.cnblogs.com/hasakei/p/10035198.htmlhttps://blog.csdn.net/senjie_wang/article/details/84073823https://github.com/bbitmaster/ale_python_interface/issues/2https://blog.csdn.net/dream6985/article/details/127746687  ======================......
  • 这可能是最全面的Python入门手册了!
    无论是学习任何一门语言,基础知识一定要扎实,基础功非常的重要,找到一个合适的学习方法和资料会让你少走很多弯路,你的进步速度也会快很多,无论我们学习的目的是什么,不得不说Python真的是一门值得付出时间去学习的优秀编程语言。普通人学Python有什么用Python对于普通人而言,开启了无......
  • python基础 05基本运算符
    基本运算一、算术运算符x=10y=20print(x+y)#30print(x-y)#-10print(x*y)#200print(x/y)#0.5print(x%y)#10print(x//y)#0print(x**y)#100000000000000000000二、比较运算符​ 返回的都是布尔值x=10y=20print(x>y)......
  • 《Python魔法大冒险》010 魔法宝箱:列表与元组的探险
    城堡的大门随着小鱼和魔法师的深入,他们来到了一个古老的废弃城堡。城堡的大门上挂着一个巨大的锁,而锁的旁边有一排小抽屉,每个抽屉里都有一个物品。魔法师对小鱼说:“这是一个古老的魔法宝箱,小鱼。为了打开这扇门,我们需要正确地组合这些物品。在Python的魔法世界中,我们使用列表和......
  • ElasticSearch系列——查询、Python使用、Django/Flask集成、集群搭建,数据分片、位置
    @目录Elasticsearch之-查询一基本查询1.1match查询1.2term查询1.3terms查询1.4控制查询的返回数量(分页)1.5match_all查询1.6match_phrase查询1.7multi_match1.8指定返回的字段1.9sort结果排序1.10range范围查询1.11wildcard查询二组合查询2.1bool查询2.2简单过滤......
  • python实现数的排列问题​
    功能需求有四个数字1,2,3,4,能够组成多少个互不相同并且无重复的三位数字?各是多少?程序分析使用for循环遍历所有可能,将重复的删去,设定一个计数变量total,每完成一次符合要求的组合,total自加1.程序实现(一)使用for循环#total初始值为0total=0#最外层循环从1开始遍历,直到4foriinrang......
  • python-pycharm打印 不换行,清空
    一、参考代码foriinrange(100):time.sleep(0.4)#print(i)print('\r','count:'+str(i),end='---')#这种方式可以避免输出内容刷屏......
  • Python内置函数 - enumerate, range, max, len
    1, enumerate(可迭代对象,index_base)fromcollections.abcimportIteratormy_list=["aa","b","c"]result=enumerate(my_list)#迭代器:每次返回一个元组,tuple(index,value)print(type(result))#<class'enumerate'>prin......
  • 实用Python库
    flatten-json:将object,dict,array压缩成一维一个有趣的用法:fromflatten_jsonimportflattendef__flatten(*args):a=[]foreinargs:iftype(e)==type([])ortype(e)==type(()):a.append(__flatten(*e))eliftype(e......