Python生成指定大小的文件兩種解決方案
在日常測試工作中,我們經(jīng)常需要對上傳的文件大小進行測試,例如:一個文件上傳功能,限制文件大小最大為10MB,此時我們可能需要測試10MB以及其邊界值9MB和11MB;再或者我們有時需要測試一個超大文件,進行大文件的測試。
針對以上情況,可能一時難以找到符合準確數(shù)據(jù)的測試文件,這時就可以使用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')) # 每個重復的文本的大?。ㄒ宰止?jié)為單位) repetitions = file_size_bytes // text_size_bytes # 需要重復的次數(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__': # 生成一個大小為10MB的PDF文件 generate_file('caituotuo.pdf', 1024 * 1024 * 10)
方法2:
使用特定大小的隨機數(shù)生成,使用隨機數(shù)生成器生成特定大小的字節(jié),并將其寫入文件中。
# author: 測試蔡坨坨 # datetime: 2023/6/8 2:31 # function: 使用特定大小的隨機數(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__': # 生成一個大小為1MB的隨機數(shù)據(jù)文件 generate_file('caituotuo.docx', 1024 * 1024)
到此這篇關(guān)于Python生成指定大小的文件的文章就介紹到這了,更多相關(guān)Python生成指定大小的文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用Pillow創(chuàng)建可自定義的圖標生成器
在本篇博客中,我們將探討如何使用?wxPython?和?Pillow?庫創(chuàng)建一個簡單的圖標生成器,感興趣的小伙伴可以跟隨小編一起學習一下2024-11-11python簡單實現(xiàn)最大似然估計&scipy庫的使用詳解
這篇文章主要介紹了python簡單實現(xiàn)最大似然估計&scipy庫的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04解決Jupyter Notebook “signal only works&nb
這篇文章主要介紹了解決Jupyter Notebook “signal only works in main thread“問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09