Python は指定されたサイズのファイルを生成します

日々のテスト作業では、アップロードされたファイルのサイズをテストする必要があることがよくあります。たとえば、ファイル アップロード機能では、最大ファイル サイズは 10MB に制限されていますが、現時点では 10MB とその境界値 9MB と 11MB をテストする必要がある場合があります。 ; または、場合によっては非常に大きなファイルをテストし、大きなファイルのテストを実行する必要があります。

上記の状況を考慮すると、しばらくの間、正確なデータと一致するテスト ファイルを見つけるのは困難になる可能性がありますが、現時点では、Python を使用して任意のサイズのファイルを生成できます。ここでは 2 つの解決策を紹介します。

方法 1:

特定のサイズのテキストを繰り返し生成するには、テキスト文字列 text を指定し、目的のファイル サイズに達するまで繰り返しコピーします。

# author: 爱吃香菜
# datetime: 2023/6/8 1:31
# function: 使用特定大小的文本生成指定大小的文件


def generate_file(file_path, file_size_bytes):
    text = "This is some sample text by caituotuo."  # 要重复的文本
    text_size_bytes = len(text.encode('utf-8'))  # 每个重复的文本的大小(以字节为单位)

    repetitions = file_size_bytes // text_size_bytes  # 需要重复的次数
    remainder = file_size_bytes % text_size_bytes  # 剩余的字节数

    with open(file_path, 'w') as file:
        for _ in range(repetitions):
            file.write(text)

        if remainder > 0:
            file.write(text[:remainder])


if __name__ == '__main__':
    # 生成一个大小为10MB的PDF文件
    generate_file('caituotuo.pdf', 1024 * 1024 * 10)

方法 2:

特定のサイズの乱数の生成 乱数ジェネレーターを使用して、特定のサイズのバイトを生成し、ファイルに書き込みます。

# author: 爱吃香菜
# datetime: 2023/6/8 2:31
# function: 使用特定大小的随机数生成文件

import os


def generate_file(file_path, file_size_bytes):
    with open(file_path, 'wb') as file:
        file.write(os.urandom(file_size_bytes))


if __name__ == '__main__':
    # 生成一个大小为1MB的随机数据文件
    generate_file('caituotuo.docx', 1024 * 1024)

以上で終了です。

地に足をつけて星を見上げて、私と一緒にソフトウェアテストを学び、昇進して給料を上げてください!

最後に:以下の完全なソフトウェア テスト ビデオ チュートリアルが整理されてアップロードされており、必要な友人は自分で入手できます[100% 無料保証]

完全な情報の取得

おすすめ

転載: blog.csdn.net/wx17343624830/article/details/131093858
おすすめ