給定一個文本檔案,例如:a.txt,他的最大大小為 16 位元組,并且包含一些文本。如何讀取該檔案的所有內容(該檔案的所有位元組)并將其保存在變數中而不打開該檔案?
也就是說,我不想這樣做open("a.txt", "r").read(),但是,我正在尋找類似的東西:
a = bytes(`cat file.txt`)
linux風格。
我可以在 python 中做到這一點嗎?
uj5u.com熱心網友回復:
從檔案中讀取位元組并將其存盤在變數中可以通過my_var = Path('a.txt').read_bytes()
bytes使用指定的填充位元組來填充rjust和ljust 。
這些可以組合在一起,以始終給出長度為 16 個位元組的結果。例如
Path('a.txt').read_bytes().rjust(16, b'x')
這是使用此功能的更完整示例:
from pathlib import Path
small_test = Path.home().joinpath('sml_test.txt')
big_test = Path.home().joinpath('big_test.txt')
small_payload = b'12345678'
full_payload = b'0123456789ABCDEF'
def write_test_files():
small_test.write_bytes(small_payload)
big_test.write_bytes(full_payload)
def read_test_files():
data1 = small_test.read_bytes().rjust(16, b'x')
data2 = big_test.read_bytes().rjust(16, b'x')
print(f"{data1 = }")
print(f"{data2 = }")
def main():
write_test_files()
read_test_files()
small_test.unlink()
big_test.unlink()
if __name__ == '__main__':
main()
這給出了以下輸出:
data1 = b'xxxxxxxx12345678'
data2 = b'0123456789ABCDEF'
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/520824.html
標籤:Python文件字节
