楼主: 我是小趴菜
495 0

[数据挖掘新闻] 用Python打开文件 [推广有奖]

  • 0关注
  • 4粉丝

教授

35%

还不是VIP/贵宾

-

威望
0
论坛币
29650 个
通用积分
380.5350
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
7150 点
帖子
670
精华
0
在线时间
37 小时
注册时间
2022-8-30
最后登录
2023-4-4

楼主
我是小趴菜 发表于 2022-10-27 11:32:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

要打开文件,可使用函数open,它位于自动导入的模块io中。函数open将文件名作为唯一必 不可少的参数,并返回一个文件对象。如果当前目录中有一个名为somefile.txt的文本文件(可能 是使用文本编辑器创建的),则可像下面这样打开它: >>> f = open('somefile.txt') 如果文件位于其他地方,可指定完整的路径。如果指定的文件不存在,将看到类似于下面的 异常: Traceback (most recent call last): File "<stdin>", line 1, in <module> FileNotFoundError: [Errno 2] No such file or directory: 'somefile.txt' 如果要通过写入文本来创建文件,这种调用函数open的方式并不能满足需求。为解决这种问 题,可使用函数open的第二个参数。

文件模式

调用函数open时,如果只指定文件名,将获得一个可读取的文件对象。如果要写入文件,必 须通过指定模式来显式地指出这一点。函数open的参数mode的可能取值有多个,表11-1对此进行 了总结。



表11-1 函数open的参数mode的最常见取值

值 描 述

'r' 读取模式(默认值)

'w' 写入模式

'x' 独占写入模式

'a' 附加模式

'b' 二进制模式(与其他模式结合使用)

't' 文本模式(默认值,与其他模式结合使用)

'+' 读写模式(与其他模式结合使用)


显式地指定读取模式的效果与根本不指定模式相同。写入模式让你能够写入文件,并在文件 不存在时创建它。独占写入模式更进一步,在文件已存在时引发FileExistsError异常。在写入模 式下打开文件时,既有内容将被删除(截断),并从文件开头处开始写入;如果要在既有文件末 尾继续写入,可使用附加模式。 '+'可与其他任何模式结合起来使用,表示既可读取也可写入。例如,要打开一个文本文件 进行读写,可使用'r+'。(你可能还想结合使用seek,详情请参阅本章后面的旁注“随机存取”。) 请注意,'r+'和'w+'之间有个重要差别:后者截断文件,而前者不会这样做。 默认模式为'rt',这意味着将把文件视为经过编码的Unicode文本,因此将自动执行解码和 编码,且默认使用UTF-8编码。要指定其他编码和Unicode错误处理策略,可使用关键字参数 encoding和errors。(有关Unicode的详细信息,请参阅第1章。)这还将自动转换换行字符。默认 情况下,行以'\n'结尾。读取时将自动替换其他行尾字符('\r'或'\r\n');写入时将'\n'替换为 系统的默认行尾字符(os.linesep)。 通常,Python使用通用换行模式。在这种模式下,后面将讨论的readlines等方法能够识别所 有合法的换行符('\n'、'\r'和'\r\n')。如果要使用这种模式,同时禁止自动转换,可将关键字 参数newline设置为空字符串,如open(name, newline='')。如果要指定只将'\r'或'\r\n'视为合 法的行尾字符,可将参数newline设置为相应的行尾字符。这样,读取时不会对行尾字符进行转 换,但写入时将把'\n'替换为指定的行尾字符。 如果文件包含非文本的二进制数据,如声音剪辑片段或图像,你肯定不希望执行上述自动转 换。为此,只需使用二进制模式(如'rb')来禁用与文本相关的功能。 还有几个更为高级的可选参数,用于控制缓冲以及更直接地处理文件描述符。要获取有关这 些参数的详细信息,请参阅Python文档或在交互式解释器中运行help(open)。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python directory Director unicode Founder

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 15:10