常见练习题
001¶
题目:如何使用python,写一个20g的大文件,用于文件上传测试
思路:可以使用Python的os和random模块生成一个20GB大小的文件。
题解:
import os
import random
# 设置文件大小为20GB
file_size = 20 * 1024 * 1024 * 1024
# 生成一个20GB的随机文件
with open("bigfile.log", "wb") as f:
# 每次写入10MB的数据
chunk_size = 10 * 1024 * 1024
# 计算写入次数
num_chunks = file_size // chunk_size
# 生成随机数据
random_data = bytearray(os.urandom(chunk_size))
for _ in range(num_chunks):
f.write(random_data)
# 写入剩余数据
f.write(os.urandom(file_size % chunk_size))
解释:这个脚本会生成一个名为 bigfile.log
的文件,文件大小为20GB
,其中的数据是随机生成的。可以根据需要修改文件名和大小。请注意,生成20GB的文件可能需要一些时间,请耐心等待。
批量修改文件名称¶
题目:爬虫批量下载了一些视频文件后,统一都带有多余的前缀,请使用python批量去除这些前缀。
import os
from pathlib import Path
# 文件所在目录
dir_path = Path('/your/local/dir')
# 获取所有的文件名称列表
file_names = os.listdir(dir_path)
# 公共前缀
useless_prefix = 'something'
# 遍历所有的文件名称
for name in file_names:
if name.startswith(useless_prefix):
new_name = name[len(useless_prefix):]
# 修改文件名称
os.rename(dir_path / name, dir_path / new_name)