Skip to content

常见练习题

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)