仅需10道题轻松掌握Python文件处理 | Python技能树征题
仅需10道题轻松掌握Python文件处理 | Python技能树征题
- 0. 前言
- 1. 第 1 题:文件路径名的处理
- 2. 第 2 题:检测文件是否存在
- 3. 第 3 题:获取指定文件夹下的文件列表
- 4. 第 4 题:文本文件的读写
- 5. 第 5 题:将打印输出到文件中
- 6. 第 6 题:二进制文件的读写
- 7. 第 7 题:压缩文件的读写
- 8. 第 8 题:以固定数据块大小读取文件
- 9. 第 9 题:增加或改变已打开文件的编码方式
- 10. 第 10 题:临时文件与文件夹的创建
- 试题代码地址
0. 前言
所有应用程序都需要处理输入和输出,文件是用于获取输入和保存输出的常用载体,文件可以是文本文档、图片、程序等等,我们就通过 10
道 Python
编程题来掌握解决常见文件处理问题的方法吧!
1. 第 1 题:文件路径名的处理
知识点描述:使用路径名来获取文件名,目录名,绝对路径。
问题描述:有一文件路径如下:“/home/brainiac/Documents/csdn/hello_world.py”,请从以下选项中选出可以获取文件名 “hello_world.py” 的选项:
A.
import os
path = '/home/brainiac/Documents/csdn/hello_world.py'
file_name = os.path.dirname(path)
print(file_name)
B.
import os
path = '/home/brainiac/Documents/csdn/hello_world.py'
file_name = os.path.abspath(path)
print(file_name)
C.
import os
path = '/home/brainiac/Documents/csdn/hello_world.py'
file_name = os.path.basename(path)
print(file_name)
D.
import os
path = '/home/brainiac/Documents/csdn/hello_world.py'
file_name = os.path.splitext(path)[-1]
print(file_name)
正确答案: C
2. 第 2 题:检测文件是否存在
知识点描述:检测指定文件或目录是否存在。
问题描述:请从以下选项中选出可以检测 “/etc/passwd” 文件是否存在的选项:
A.
import os
exist = os.path.exists('etc/passwd')
print(exist)
B.
import os
exist = os.path.isdir('etc/passwd')
print(exist)
C.
import os
exist = os.path.isdir('/etc/passwd')
print(exist)
D.
import os
exist = os.path.isfile('/etc/passwd')
print(exist)
正确答案: D
3. 第 3 题:获取指定文件夹下的文件列表
知识点描述:获取文件系统中指定目录下的所有文件列表。
问题描述:获取 “/etc” 目录中所有 python 文件(以 “.py” 作为文件后缀)列表,请从以下选项中选出你认为正确的选项:
A.
import os
path = "/usr/lib/python3/dist-packages"
names = [name for name in os.listdir(path)]
print(names)
B.
import os
path = "/usr/lib/python3/dist-packages"
names = [name for name in os.listdir(path) if name.endswith('.py')]
print(names)
C.
import os
path = "/usr/lib/python3/dist-packages"
names = [name for name in os.listdir(path) if os.path.isfile(name) and name.endswith('.py')]
print(names)
D.
import os
path = "/usr/lib/python3/dist-packages"
names = [name for name in os.listdir(path) if name.endswith('*.py')]
print(names)
正确答案: B
4. 第 4 题:文本文件的读写
知识点描述:读写使用不同编码方式的文本文件。
问题描述:假设存在一文件 “text_1.txt”,如何向其中再添加两行新数据,请从以下选项中选出你认为正确的选项:
A.
new_line_1 = "New line 1"
new_line_2 = "New line 2"
with open('text_1.txt', 'rt') as f:f.write(new_line_1+'\n')f.write(new_line_2+'\n')
B.
new_line_1 = "New line 1"
new_line_2 = "New line 2"
with open('text_1.txt', 'at') as f:f.write(new_line_1)f.write(new_line_2)
C.
new_line_1 = "New line 1"
new_line_2 = "New line 2"
with open('text_1.txt', 'wt') as f:f.write(new_line_1+'\n')f.write(new_line_2+'\n')
D.
new_line_1 = "New line 1"
new_line_2 = "New line 2"
with open('text_1.txt', 'at') as f:f.write(new_line_1+'\n')f.write(new_line_2+'\n')
正确答案: D
5. 第 5 题:将打印输出到文件中
知识点描述:将 print() 函数的输出重定向到指定日志文件中。
问题描述:将当前时间写入日志文件 “log.txt” 中,并记录函数执行结果,请从以下选项中选出你认为正确的答案:
A.
from datetime import datetime
def hello_world(num):return "Hello world {}!".format(num)
for i in range(10):with open('log.txt', 'at') as f:print(str(datetime.today()) + '\t' + hello_world(i), file=f)
B.
from datetime import datetime
def hello_world(num):return "Hello world {}!".format(num)
for i in range(10):with open('log.txt', 'at') as f:print(datetime.today() + '\t' + hello_world(i), file=f)
C.
from datetime import datetime
def hello_world(num):return "Hello world {}!".format(num)
for i in range(10):with open('log.txt', 'wt') as f:print(datetime.today() + '\t' + hello_world(i))
D.
from datetime import datetime
def hello_world(num):return "Hello world {}!".format(num)
for i in range(10):with open('log.txt', 'wt') as f:print(str(datetime.today()) + '\t' + hello_world(i), file=f)
正确答案: A
6. 第 6 题:二进制文件的读写
知识点描述:读写二进制文件,如图片、声音文件等。
问题描述:已知存在二进制文件 “test.bin”,如何正确向此文件追加写入文本数据,请从以下选项中选出你认为正确的答案:
A.
with open('test.bin', 'at') as f:text = 'Hello World!\n'f.write(text)
B.
with open('test.bin', 'wb') as f:text = 'Hello World!\n'f.write(text.encode('utf-8'))
C.
with open('test.bin', 'ab') as f:text = 'Hello World!\n'f.write(text.encode('utf-8'))
D.
with open('test.bin', 'ab') as f:text = 'Hello World!\n'f.write(text)
正确答案: C
7. 第 7 题:压缩文件的读写
知识点描述:读写 gzip 或 bz2 格式的压缩文件。
问题描述:请从以下选项中选择能够将文本文件 “text.txt” 内容写入压缩文件 “compress.gz” 的程序,且要求压缩程度最佳:
A.
import gzip
text = 'text.txt'
with gzip.open('compress.gz', 'wt', compresslevel = 9) as f:f.write(text)
B.
import gzip
text = 'text.txt'
with gzip.open('compress.gz', 'wt', compresslevel = 0) as f:f.write(text)
C.
import gzip
text = 'text.txt'
with open(text, 'rt') as file:read_text = file.read()with gzip.open('compress.gz', 'wt', compresslevel = 9) as f:f.write(read_text)
D.
import gzip
text = 'text.txt'
with open(text, 'rt') as file:read_text = file.read()with gzip.open('compress.gz', 'wt', compresslevel = 0) as f:f.write(read_text)
正确答案:C
8. 第 8 题:以固定数据块大小读取文件
知识点描述:以固定长度数据块长度迭代读取文件,而非逐行读取。
问题描述:存在一文件 “test.bin”,编写程序每次读取数据块大小为 16B,直到文件末尾:
A.
from functools import partial
RECORD_SIZE = 16
with open('test.bin', 'rt') as f:records = iter(partial(f.read, RECORD_SIZE), b'')for r in records:print(r)
B.
from functools import partial
RECORD_SIZE = 16
with open('test.bin', 'rb') as f:records = iter(partial(f.read, RECORD_SIZE), b'')for r in records:print(r)
C.
from functools import partial
RECORD_SIZE = 16 * 8
with open('test.bin', 'rt') as f:records = iter(partial(f.read, RECORD_SIZE), b'')for r in records:print(r)
D.
from functools import partial
RECORD_SIZE = 16
with open('test.bin', 'rt') as f:records = iter(partial(f.read, RECORD_SIZE), '')for r in records:print(r)
正确答案:B
9. 第 9 题:增加或改变已打开文件的编码方式
知识点描述:在不关闭已打开文件前提下改变文件的编码方式。
问题描述:如何为一个以二进制模式打开的文件添加 “utf-8” 编码方式,请从以下选项中选出你认为正确的答案:
A.
import urllib.request
import io
with urllib.request.urlopen('https://blog.csdn.net/LOVEmy134611') as u:f = io.TextIOWrapper(u, encoding = 'utf-8')text = f.read()
print(text)
B.
import urllib.request
import io
with urllib.request.urlopen('https://blog.csdn.net/LOVEmy134611') as u:f = io.TextIOWrapper(u.read(), encoding = 'utf-8')text = f.read()
print(text)
C.
import urllib.request
import io
with urllib.request.urlopen('https://blog.csdn.net/LOVEmy134611') as u:f = io.TextIOWrapper(u.detach(), encoding = 'utf-8')text = f.read()
print(text)
D.
import urllib.request
import io
with urllib.request.urlopen('https://blog.csdn.net/LOVEmy134611') as u:f = io.TextIOWrapper(u).encoding='utf-8'text = f.read()
print(text)
正确答案:A
10. 第 10 题:临时文件与文件夹的创建
知识点描述:在程序执行时创建临时文件或目录,并在使用后自动销毁。
问题描述:创建一个命名临时文件,向文件中写入 “Hello Python!” 后打印文件名,请从以下选项中选出你认为正确的答案:
A.
from tempfile import NamedTemporaryFile
with NamedTemporaryFile('text.txt', 'wt') as f:f.write('Hello Python!\n')print(f.name)
B.
from tempfile import TemporaryFile
with TemporaryFile('text.txt', 'wt') as f:f.write('Hello Python!\n')print(f.name)
C.
from tempfile import NamedTemporaryFile
with NamedTemporaryFile('wt') as f:f.write('Hello Python!\n')print(f.name)
D.
from tempfile import TemporaryFile
with TemporaryFile('wt') as f:f.write('Hello Python!\n')print(f.name)
正确答案:C
试题代码地址
https://codechina.csdn.net/LOVEmy134611/python_problem
仅需10道题轻松掌握Python文件处理 | Python技能树征题相关推荐
- 仅需10道题轻松掌握Python字符串方法 | Python技能树征题
仅需10道题轻松掌握Python字符串方法 | Python技能树征题 0. 前言 1. 第 1 题:字符串检查 2. 第 2 题:字符串大小写转换 3. 第 3 题:字符串开头或结尾匹配 4. 第 ...
- 仅需5道题轻松掌握Python命令行相关标准库 | Python技能树征题
仅需5道题轻松掌握Python命令行相关标准库 | Python技能树征题 0. 前言 1. 第 1 题:命令行日志记录 2. 第 2 题:将日志存储在磁盘上 3. 第 3 题:命令行参数解析 4. ...
- 仅需6道题轻松掌握SciPy空间计算基础 | Python技能树征题
仅需6道题轻松掌握SciPy空间计算基础 | Python技能树征题 0. 前言 1. 第 1 题:三角剖分 2. 第 2 题:凸包 3. 第 3 题:K-D树 4. 第 4 题:曼哈顿距离 5. 第 ...
- 仅需6道题轻松掌握Python异常捕获 | Python技能树征题
仅需6道题轻松掌握Python异常捕获 | Python技能树征题 0. 前言 1. 第 1 题:在单元测试中测试异常 2. 第 2 题:多个异常的处理 3. 第 3 题:捕获所有异常 4. 第 4 ...
- 仅需6道题轻松掌握Python时间和日期处理 | Python技能树征题
仅需6道题轻松掌握Python时间和日期处理 | Python技能树征题 0. 前言 1. 第 1 题:时间单位转换 2. 第 2 题:日期与时间运算 3. 第 3 题:查找指定日期的后一个周日的日期 ...
- 仅需8道题轻松掌握Python Web应用开发 | Python技能树征题
仅需9道题轻松掌握Python Web应用开发 | Python技能树征题 0. 前言 1. 第 1 题:客户端访问 Web 服务器 2. 第 2 题:构建 TCP 服务器 3. 第 3 题:构建 U ...
- python加密敏感信息_仅需10行代码,使用python加密用户敏感数据
原标题:仅需10行代码,使用python加密用户敏感数据 数据分析师必须要遵守的一个规则就是数据保密,但在跨部门沟通的时候,难免会有数据泄露的情况,所以,对于用户的姓名.手机号.地址等敏感信息,一般需 ...
- 组图:全球首款飞行摩托开售 变形仅需10分钟
神呐,摩托可以变形飞机了!堵车时幻想过千万遍的场面来得太快太猛烈,要不要这么幸福?赶紧多码些字吧,争取早日攒够螺旋桨的费用-- 据英国<每日邮报>报道,早在50年前,美国动画片<杰特 ...
- 控制台运行python文件_spyder如何在控制台执行python文件,debug python程序
spyder如何在控制台执行python文件,debug python程序 发布时间:2020-08-01 14:42:02 来源:亿速云 阅读:93 作者:小猪 这篇文章主要讲解了spyder如何在 ...
最新文章
- Spring Boot + MyBatis + Druid + PageHelper 实现多数据源并分页
- 使用Process Explorer查看托管进程的性能记数器
- Emacs for Go
- CF 19D Points 【线段树+平衡树】
- 如何用 C++ 在 10 行内写出八皇后?
- 《数据驱动安全:数据安全分析、可视化和仪表盘》一3.7 推荐阅读
- SQL Server---触发
- AD19 add pins to nets错误_《英雄联盟手游》错误代码问题大全 LOL的错误代码都是什么意思...
- 【升职加薪必备架构图】Springboot学习路线汇总
- mysql数据备份(windows,linux)
- print_w php,THINKPHP的dump打印数组函数,输出在浏览器非常友好。
- linux云服务器上安装JDK
- JMeter组件之Test Fragment
- Yii 2.0 权威指南 (5) 应用结构
- c语言反序数1234变4321,C语言编程题练习
- Qt设置应用程序图标、小图标显示+打包发布exe
- 企鹅CMS开源影视系统
- 【小型系统】简单的刷票系统(突破IP限制进行投票)
- Solidworks如何打开swb文件
- javaFX 学习之 超链接(HyperLink) 转载