打开文件|学习笔记

简介: 快速学习 打开文件

开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理打开文件】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/601/detail/8766


打开文件


内容简介


一、文件

二、Open 返回值

三、总结

 

一、文件(file)

在我们的计算机里一切皆是文件,比如说  “01.异常.py” 这是一个文本文件,电脑桌面上的所有图标快捷方式也是文件,随便一个软件打开文件所在位置会发现里面是各种各样的文件,包括看的电影、图片,听的音乐,所有在计算机里存的东西都是文件。我们可以手动的对这些文件进行操作,同样在 python 中也可以通过程序对文件进行操作。

 

所以,这里所说的文件是指:

1、通过 python 程序对计算机中的各种文件进行增删改查的操作。

2、文件还有另一个名字叫做 i/o(input/output)input 是输入,output 是输出。注意这都是对我们人来讲的,input 是指人通过程序从计算机中读取信息向人输入,同样,output 是指从人这里把一些信息输出到文件里。

3、操作文件的步骤:

①打开文件

②对文件进行各种操作(读、写),然后保存

③关闭文件

这是手工去操作一个文件的步骤。同样在 python 里对文件进行操作也需要经历这三个步骤。

 

通过 python 创建一个文件名叫 demo.txt 的文件,文件里写入 lorem 然后按下 tab 键回车会自动生成

 

这个英文文本没有任何意义,只是一个测试排版的文本。

现在想要打开 demo.txt 的文件,需要使用 python 的内接函数,找到文档中的Library Reference,打开 Built-in Functions,找到 open(),找到函数

open(file, mode='r, uffering-g-1 encoding=None, errors -None, newine=None, closefd= True, opener-None) 复制粘贴进 python。这就是一个打开文件的函数。

 

这里 file 是要打开的文件的名字(路径)

这里创建一个变量,来保存文件的名字:file name=‘demo.txt’ 这时候直接用open(file name)作为第一个参数传进去,这就是打开file name对应的文件。如何验证文件是不是打开呢?只要不报错就是打开了。方法是先改一个file name=‘demo123.txt’执行会发现报错了

 

但是这个错误实际上跟file没有任何关系,因为报的是语法的错误,是编码的问题。报这个错误是因为一开始使用代码时里面有一个 encoding=None,这 在 python中会被解析成要设置文件的编码,所以报错。要避免这种报错只需要修改一下,加一个下划线encoding =None就可以了。这个时候执行报文件报的错就是我们文件的错误了。

 

报错的原因是因为刚才把文件的名给改成了 demo123.txt。文件名修改到最开始的名字就可以正常打开了。所以以后打开文件就用 open函数。

 

二、Open 返回值

返回一个对象,这个对象代表了当前打开的文件。比如file obj= open(file name)#打开 file name 对应的文件。 直接print(file obj)保存打印会出现

表明这个对象确实存在,已经打开了。如果目标文件和当前文件在同一级目录下,则直接使用文件名即可。如果不在同一级目录下,比如创建一个文件名叫 hello 位于上一级把 demo.txt 文件移到 hello 里,这个时候就必须使用完整的路径:

File name=‘hello/demo.txt’保存执行才能够找到并打开文件。这里要注意如果是同一级目录下直接使用文件名就可以,而不在同一级目录中则需要把路径加上。

在 w indows 里表示一个路径的时候应该用的是\,但是在这里使用\的话会出现问题,因为 在 python 里 \ 代表的是转义字符。所以在 windows 系统使用路径时,可以使用 / 代替\。或者可以使用 \\ 代替 \,或者也可以使用原始字符串。原始字符串就是在字符串前加r比如:

file name=r‘hello\demo.txt这时候里边的转义字符就会被忽略。

现在把 hello 文件在往上移一级,file name=r‘hello\demo.txt这个字符串就没有效果了,所以表示路径,可以使用..来返回上一级目录。

现在是在 code,需要先到 hello 里所以:file name=‘../hello/demo.txt’ 。这里..就表示需要从当前目录出来也就是 code,出来后再去 hello 里边找demo.txt。保存执行后就可以找到 demo.txt 文件了。

如果目标文件距离当前文件比较远,此时可以使用绝对路径。

绝对路径应该从磁盘的根目录开始书写,比如桌面上的快捷方式就需要打开文件所在位置全部复制路径:

file name=‘D:\QQ\Bin\QQScLauncher.exe’ 注意这里\需要改成/或者使用原始字符串加上 r。

这就是一个绝对根路径,保存执行也可以找到目标文件。

 

三、总结

如果文件在当前目录下直接写文件名,如果不在当前目录下要写路径,如果不在路径里面用..返回,如果绝对路径比较远,需要使用文件的绝对路径。

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】
机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】
|
3月前
|
安全 数据管理 关系型数据库
Dify on DMS,快速构建开箱即用的客服对话数据质检服务
本文介绍基于 Dify 与阿里云数据管理服务 DMS 的智能客服对话质检解决方案。该方案通过集成 Dify 的 AI 能力与 DMS 的数据管理能力,实现从数据获取到质检分析的全链路闭环,提升客服质检效率与准确性,助力企业数字化转型。
365 20
|
5月前
|
运维 安全 数据可视化
日志审查安排工具实战攻略:中小团队如何通过日志审查安排工具建立可控、安全的审查机制?
在审计敏感时代,日志审查安排工具成为安全运维与合规管理的关键利器。它实现审查任务的流程化、周期化与可视化,支持多系统协作、责任到人,确保“可控、可查、可追”的日志治理。工具如板栗看板、Asana、Monday 等提供任务调度、问题闭环与合规对接能力,助力企业构建高效、透明的日志审查体系,提升安全与合规水平。
|
5月前
|
监控 数据可视化 数据安全/隐私保护
如何搭好一套智能采购管理系统?
本文系统解析了企业采购管理的核心逻辑与落地方法,涵盖需求、执行、交付三大环节,并详解搭建采购系统前需厘清的五大问题及四步搭建流程,强调供应商管理、权限控制、账货对齐等关键细节,为企业提供可操作的采购管理体系搭建指南。
|
11月前
|
存储 缓存 Java
Java 线程池常见误区
线程池是Java中处理并发任务的重要机制,Doug Lea对其进行了封装,简化了使用。然而,若不理解其内部实现,容易在配置参数时产生误解。核心池内的线程会在提交任务时逐步创建至核心线程数,而非仅在运行时创建。BlockingQueue作为缓冲区,能应对突发流量,但配置不当会导致任务被拒绝。配置线程池时需考虑QPS、任务执行时间及GC影响,并留出冗余以确保稳定性。深入理解源码有助于灵活配置线程池,避免潜在问题。
162 7
Java 线程池常见误区
|
缓存 NoSQL 安全
Redis缓存雪崩、击穿、穿透解释及解决方法,缓存预热,布隆过滤器 ,互斥锁
Redis缓存雪崩、击穿、穿透解释及解决方法,缓存预热,布隆过滤器 ,互斥锁
972 5
|
缓存 网络协议 安全
DNS缓存中毒
【8月更文挑战第20天】
567 1
|
存储 Linux Shell
Linux fallocate工具用于预分配或释放文件空间的块
`fallocate`是一个Linux命令行工具,用于预分配或释放文件空间的块 以下是一些使用`fallocate`的示例: 1. 预分配空间给文件: ```bash fallocate -l 10M example.txt ``` 这个命令将为`example.txt`文件预分配10MB的磁盘空间。 2. 释放文件未使用的空间: ```bash fallocate -d example.txt ``` 这个命令将释放`example.txt`文件中未使用的磁盘空间。请注意,这不会改变文件的大小,只是释放了未使用的磁盘空间。 3.
668 4
|
测试技术
你真的知道什么是冒烟测试吗?
你真的知道什么是冒烟测试吗?
862 0
你真的知道什么是冒烟测试吗?
|
Java Python
如何设置代理ip服务器地址
如何设置代理ip服务器地址
550 0