Python生成指定大小的文件兩種解決方案
在日常測試工作中,我們經(jīng)常需要對上傳的文件大小進(jìn)行測試,例如:一個(gè)文件上傳功能,限制文件大小最大為10MB,此時(shí)我們可能需要測試10MB以及其邊界值9MB和11MB;再或者我們有時(shí)需要測試一個(gè)超大文件,進(jìn)行大文件的測試。
針對以上情況,可能一時(shí)難以找到符合準(zhǔn)確數(shù)據(jù)的測試文件,這時(shí)就可以使用Python來幫助我們生成任意大小的文件,這里提供兩種解決方案。
方法1:
使用特定大小的文本重復(fù)生成,指定一個(gè)文本字符串text,然后將其重復(fù)復(fù)制直至達(dá)到所需的文件大小。
# author: 測試蔡坨坨 # datetime: 2023/6/8 1:31 # function: 使用特定大小的文本生成指定大小的文件 def generate_file(file_path, file_size_bytes): text = "This is some sample text by caituotuo." # 要重復(fù)的文本 text_size_bytes = len(text.encode('utf-8')) # 每個(gè)重復(fù)的文本的大?。ㄒ宰止?jié)為單位) repetitions = file_size_bytes // text_size_bytes # 需要重復(fù)的次數(shù) remainder = file_size_bytes % text_size_bytes # 剩余的字節(jié)數(shù) with open(file_path, 'w') as file: for _ in range(repetitions): file.write(text) if remainder > 0: file.write(text[:remainder]) if __name__ == '__main__': # 生成一個(gè)大小為10MB的PDF文件 generate_file('caituotuo.pdf', 1024 * 1024 * 10)
方法2:
使用特定大小的隨機(jī)數(shù)生成,使用隨機(jī)數(shù)生成器生成特定大小的字節(jié),并將其寫入文件中。
# author: 測試蔡坨坨 # datetime: 2023/6/8 2:31 # function: 使用特定大小的隨機(jī)數(shù)生成文件 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__': # 生成一個(gè)大小為1MB的隨機(jī)數(shù)據(jù)文件 generate_file('caituotuo.docx', 1024 * 1024)
到此這篇關(guān)于Python生成指定大小的文件的文章就介紹到這了,更多相關(guān)Python生成指定大小的文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)反轉(zhuǎn)部分單向鏈表
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)反轉(zhuǎn)部分單向鏈表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09python使用Pillow創(chuàng)建可自定義的圖標(biāo)生成器
在本篇博客中,我們將探討如何使用?wxPython?和?Pillow?庫創(chuàng)建一個(gè)簡單的圖標(biāo)生成器,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-1110個(gè)易被忽視但應(yīng)掌握的Python基本用法
這篇文章主要介紹了10個(gè)易被忽視但應(yīng)掌握的Python基本用法,如字典推導(dǎo)、內(nèi)省工具等,主要針對Python3版本,需要的朋友可以參考下2015-04-04python簡單實(shí)現(xiàn)最大似然估計(jì)&scipy庫的使用詳解
這篇文章主要介紹了python簡單實(shí)現(xiàn)最大似然估計(jì)&scipy庫的使用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04解決Jupyter Notebook “signal only works&nb
這篇文章主要介紹了解決Jupyter Notebook “signal only works in main thread“問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09