轉載請注明出處??
作者:測驗蔡坨坨
原文鏈接:caituotuo.top/400bd75c.html
你好,我是測驗蔡坨坨,
在日常測驗作業中,我們經常需要對上傳的檔案大小進行測驗,例如:一個檔案上傳功能,限制檔案大小最大為10MB,此時我們可能需要測驗10MB以及其邊界值9MB和11MB;再或者我們有時需要測驗一個超大檔案,進行大檔案的測驗,
針對以上情況,可能一時難以找到符合準確資料的測驗檔案,這時就可以使用Python來幫助我們生成任意大小的檔案,這里提供兩種解決方案,
方法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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/554907.html
標籤:其他
下一篇:返回列表