如何做网站本地服务器,上海松江区网站建设,wordpress删除摘要,wordpress 建表目录 简述 / 前言1. 文件的操作2. 过滤器2.1 more —— 逐屏显示数据2.2 sort —— 排序2.3 more 和 sort 一起用 文章传送门 简述 / 前言
上一篇我们介绍了 Python 的输入#xff08;input#xff09;和输出#xff08;print#xff09;#xff0c;以及如何通过命令行给… 目录 简述 / 前言1. 文件的操作2. 过滤器2.1 more —— 逐屏显示数据2.2 sort —— 排序2.3 more 和 sort 一起用 文章传送门 简述 / 前言
上一篇我们介绍了 Python 的输入input和输出print以及如何通过命令行给程序传入参数。这篇文章就讲讲 Python 怎么读取我们的文件比如 txt, excel 等当然现在我们只用 Python 自带的模块和方法来介绍后期我们还会讲一个数据处理经常用来操作表格的第三方库pandas。
1. 文件的操作 通过内置函数 open() 可创建或打开文件对象 格式open(file, moder, buffering-1, encodingNone)使用 open() 函数时可以指定打开文件的模式 mode 为‘r’只读、‘w’写入写入前删除旧内容、‘x’创建新文件如果文件存在则导致FileExistsError、‘a’追加、‘b’二进制文件、‘t’文本文件默认值、‘’更新读写特别要注意的是当我们在读写文件的时候最好配合异常机制一起写即下面这段代码关于异常处理会在之后介绍这里仅仅有个印象即可try: # 这部分一定会执行的f open(test.txt, moder)
except: # 如果出现异常就会执行这段代码否则跳过这段代码print(f文件读取异常未正确打开文件)
finally: # 最终不管是否有异常都会执行这段代码确保关闭打开的文件f.close()通过文件对象的实例方法 write/writelines可以写入字符串到文本文件 通过文件对象的实例方法 read/readline可以读取文本文件的内容 文件读写完成后应该使用 close 方法关闭文件。
例子1读取当前代码文件。 编写代码代码如下文件名为CSDN.py这里不再用异常处理。
下面的代码像 while if 看不懂可以跳过这些会在下一篇文章介绍之前忘了写这章的内容了…所以只要看 open, close, readline 就可以了。
# !/usr/bin/env python3
# _*_ coding: utf-8 _*_
# author:森林
# time:2023/11/22 13:04import sysfilename sys.argv[0] # 所读取并输出的就是本程序文件CSDN.py
f open(filename, r, encodingutf-8) # 打开文件
line_no 0 # 统计行号
while True:line_no 1 # 行号计数line f.readline() # 读取行信息if line:print(line_no, :, line, end) # 输出行号和该行内容else:break
f.close() # 关闭打开的文件
输出在终端 terminal 输入 python CSDN.py
D:\MyCode\Python_Code\PyCharmpython CSDN.py
1 : # !/usr/bin/env python3
2 : # _*_ coding: utf-8 _*_
3 : # author:森林
4 : # time:2023/11/22 13:04
5 :
6 : import sys
7 :
8 : filename sys.argv[0] # 所读取并输出的就是本程序文件CSDN.py
9 : f open(filename, r, encodingutf-8) # 打开文件
10 : line_no 0 # 统计行号
11 : while True:
12 : line_no 1 # 行号计数
13 : line f.readline() # 读取行信息
14 : if line:
15 : print(line_no, :, line, end) # 输出行号和该行内容
16 : else:
17 : break
18 : f.close() # 关闭打开的文件要是每次写 .close() 可能你会很烦或者有时候忘记写了这就麻烦大了因此 Python 也提供了另外一种安全打开文件的方式with 语句——能确保打开的文件自动关闭
语法with open(file, mode) as f:
# !/usr/bin/env python3
# _*_ coding: utf-8 _*_
# author:森林
# time:2023/11/22 13:04import sysfilename sys.argv[0] # 所读取并输出的就是本程序文件CSDN.py
line_no 0 # 统计行号
with open(filename, r, encodingutf-8) as f: # 使用with语句实现上下文管理协议for line in f:line_no 1 # 行号计数print(line_no, :, line, end) # 输出行号和该行内容输出在终端 terminal 输入 python CSDN.py
D:\MyCode\Python_Code\PyCharmpython CSDN.py
1 : # !/usr/bin/env python3
2 : # _*_ coding: utf-8 _*_
3 : # author:森林
4 : # time:2023/11/22 13:04
5 :
6 : import sys
7 :
8 : filename sys.argv[0] # 所读取并输出的就是本程序文件CSDN.py
9 : line_no 0 # 统计行号
10 : with open(filename, r, encodingutf-8) as f: # 使用with语句实现上下文管理协议
11 : for line in f:
12 : line_no 1 # 行号计数
13 : print(line_no, :, line, end) # 输出行号和该行内容在 Python 中还有标准输入、输出、错误流、重定向、管道但是基本上没怎么用过所以这里就不进行介绍了。 2. 过滤器
2.1 more —— 逐屏显示数据
格式python 程序名字.py 参数1 参数1 ... 参数n | more
D:\MyCode\Python_Code\PyCharmpython CSDN.py | more
1 : # !/usr/bin/env python3
2 : # _*_ coding: utf-8 _*_
3 : # author:森林
4 : # time:2023/11/22 13:04
5 :
6 : import sys
7 :
8 : filename sys.argv[0] # 所读取并输出的就是本程序文件CSDN.py
9 : line_no 0 # 统计行号
10 : with open(filename, r, encodingutf-8) as f: # 使用with语句实现上下文管理协议
11 : for line in f:
-- More --每按一次 enter 都会多显示一行显示完全部内容就会终止程序
2.2 sort —— 排序
格式python 程序名字.py 参数1 参数1 ... 参数n | sort
D:\MyCode\Python_Code\PyCharmpython CSDN.py | sort
1 : # !/usr/bin/env python3
10 : with open(filename, r, encodingutf-8) as f: # 使用with语句实现上下文管理协议
11 : for line in f:
12 : line_no 1 # 行号计数
13 : print(line_no, :, line, end) # 输出行号和该行内容
2 : # _*_ coding: utf-8 _*_
3 : # author:森林
4 : # time:2023/11/22 13:04
5 :
6 : import sys
7 :
8 : filename sys.argv[0] # 所读取并输出的就是本程序文件CSDN.py
9 : line_no 0 # 统计行号它会按照你输出的内容先进行排序再输出比如这里是先按照第一位进行排序所以先输出1开头的行如果第一位相同就看第二位依次类推…
2.3 more 和 sort 一起用
D:\MyCode\Python_Code\PyCharmpython CSDN.py | sort | more
1 : # !/usr/bin/env python3
10 : with open(filename, r, encodingutf-8) as f: # 使用with语句实现上下文管理协议
11 : for line in f:
12 : line_no 1 # 行号计数
13 : print(line_no, :, line, end) # 输出行号和该行内容
2 : # _*_ coding: utf-8 _*_
3 : # author:森林
4 : # time:2023/11/22 13:04
5 :
6 : import sys
7 :
-- More --文章传送门
上一篇文章【人生苦短我学 Python】7命令行参数、键盘输入【input】和输出【print】 下一篇文章【人生苦短我学 Python】9分支判断和循环