python如何打开文件-用open函数基础语法即可完成本地文件读取
刚学Python那会,最懵的就是实操环节,对着代码编辑器发呆,完全搞不懂python如何打开文件,网上一堆复杂教程看得人头大,试了好多种花里胡哨的写法,最后发现最实用的始终是最基础的原生写法,不用导入额外库,一行核心代码就能搞定。
最开始踩的第一个大坑,就是直接写文件名称运行代码,结果每次都会弹出报错窗口,提示找不到对应文件。当时死活想不明白,明明文件就保存在电脑桌面,代码也没写错,为什么就是读取失败。折腾好久才搞明白,问题根本不在打开文件的代码,而是文件路径出错了,代码默认只会读取当前项目文件夹里的文件,放在桌面的文件,没有完整路径,程序根本检索不到。
懒得整理复杂路径的时候,发现一个很省事的临时办法。直接把要打开的txt、文档文件,拖拽到Python代码的项目文件夹里,不用复制长长的绝对路径,不用手动输入盘符和文件夹层级,直接在open括号里写文件名加后缀,就能正常识别文件。这个方法适配所有新手临时调试的场景,简单又不出错。
试过很多次裸写打开文件的代码,慢慢发现不写关闭语句真的会出问题。单纯用open(“文件名”)打开文件,代码运行完之后,文件会一直处于占用状态,后台不会自动释放,多次运行之后,要么文件修改保存不了,要么再次读取会直接报错,非常影响操作。
后来实操的时候,就固定用带with的写法,这是我全程实测最稳妥的打开文件方式。with open("test.txt","r",encoding="utf-8") as f:,这行代码能直接自动完成文件的打开和关闭,不用手动写close函数,彻底规避文件占用的问题。而且必须加上encoding编码参数,之前好几次打开中文内容的文件,都会出现乱码,加上utf-8编码之后,所有中文文字都能正常显示,再也没出过编码错误。
很多人会忽略打开模式的区别,我刚开始也是随便填字母,导致要么读不了内容,要么改写错文件。r模式是只读模式,也是最常用的模式,只用来打开文件读取内容,不会对原文件产生任何修改,安全性最高,日常查看文件内容只用这个模式就够了。
如果只是单纯打开文件不读取内容,屏幕上不会显示任何东西,很多新手会误以为代码失效了。搭配read方法就能读取文件全部内容,在代码里加上content = f.read(),再打印输出,运行之后就能清晰看到文件里的所有文字、数据内容,整套流程完全闭环,从零操作也能一次成功。
偶尔偷懒会省略模式参数,发现open函数默认就是只读模式,勉强可以运行,但不规范。而且遇到空文件的时候,代码不会报错,只会返回空白内容,这是正常现象,不是代码bug,不用反复修改代码浪费时间。
那天调试完所有报错,关掉编辑器的时候,电脑屏幕还停留在成功读取的文件内容页面,简简单单几行基础代码,解决了之前困扰很久的文件打开难题。