Hướng dẫn get json size in python - lấy kích thước json trong python

Tôi cần biết kích thước của các đối tượng trong chương trình Python của tôi. Tôi có vòng lặp for trong đó tôi cần biết kích thước của các đối tượng. Nếu tôi sử dụng sys.getsizeof thì bộ nhớ không miễn phí ngay lập tức và tôi không thể thấy kích thước thực tế. Có cách nào để làm điều đó không?

Đối tượng của tôi là JSON và Chuỗi. Trong trường hợp xấu nhất, tôi có thể lưu chúng vào tệp và xem kích thước tệp. Nhưng làm thế nào tôi có thể nhìn vào kích thước tệp từ mã Python?

Chỉnh sửa: Kích thước của các đối tượng tuần tự hóa quan trọng hơn đối với tôi. Vì vậy, phần thứ hai của câu hỏi là điều cần thiết.: size of serialised objects is more important for me. so second part of the question is essential.

Thanks.

Hỏi ngày 30 tháng 4 năm 2012 lúc 16:57Apr 30, 2012 at 16:57

Hướng dẫn get json size in python - lấy kích thước json trong python

Ashimashimashim

23.4K29 Huy hiệu vàng71 Huy hiệu bạc94 Huy hiệu đồng29 gold badges71 silver badges94 bronze badges

10

Xem xét rằng type(json.dumps(something))==str, bạn có thể sử dụng len theo nghĩa đen.

Xem xét những điều sau đây

obj = {'content' : 'something goes here'}
json_obj = json.dumps(obj)
json_size = len(json_obj)

serialized_size = len(serialized_object)

if json_size < serialized_size:
  print "I'd use the JSON with this..."

Đã trả lời ngày 30 tháng 4 năm 2012 lúc 17:07Apr 30, 2012 at 17:07

Lukecampbelllukecampbelllukecampbell

14.4K4 Huy hiệu vàng33 Huy hiệu bạc32 Huy hiệu Đồng4 gold badges33 silver badges32 bronze badges

2

Làm cách nào để đếm các tệp JSON trong Python?

Sử dụng Len () để đếm các mục trong một đối tượng JSON. Gọi Len (OBJ) để trả về số lượng mục trong đối tượng JSON OBJ.

import json 
dictionary = {"test_1":"xyz", "test_2":"zyx"} #python object json_string = json.dumps(dictionary)

Trong blog này, bạn sẽ tìm hiểu cách tìm kích thước đối tượng chuỗi JSON bằng byte bằng phương thức encode() hoặc

import json 
dictionary = {"test_1":"xyz", "test_2":"zyx"} #python object json_string = json.dumps(dictionary)
0 trong Python. Chúng tôi cũng có thể sử dụng các phương pháp này để tìm kích thước tải trọng API JSON REST trong Python.

Để tính toán kích thước, trước tiên chúng ta cần chuyển đổi các đối tượng Python thành các chuỗi JSON bằng cách sử dụng

import json 
dictionary = {"test_1":"xyz", "test_2":"zyx"} #python object json_string = json.dumps(dictionary)
1.

Mã hóa đối tượng chuỗi thành đối tượng byte bằng phương thức

import json 
dictionary = {"test_1":"xyz", "test_2":"zyx"} #python object json_string = json.dumps(dictionary)
2 hoặc
import json 
dictionary = {"test_1":"xyz", "test_2":"zyx"} #python object json_string = json.dumps(dictionary)
3. Điều này là do trực tiếp sử dụng phương pháp
import json 
dictionary = {"test_1":"xyz", "test_2":"zyx"} #python object json_string = json.dumps(dictionary)
4 sẽ cung cấp cho chúng ta số lượng các cặp giá trị khóa. Ở đây, ví dụ,
import json 
dictionary = {"test_1":"xyz", "test_2":"zyx"} #python object json_string = json.dumps(dictionary)
5 cung cấp cho chúng ta 2 là đầu ra vì có hai cặp giá trị khóa.

byte_ = json_string.encode("utf-8")
# or byte_ = bytes(json_string, "utf-8")
print(byte_)
# output: b'{"test_1": "xyz", "test_2": "zyx"}'

Bây giờ, chúng ta có thể sử dụng phương pháp

import json 
dictionary = {"test_1":"xyz", "test_2":"zyx"} #python object json_string = json.dumps(dictionary)
4 để tìm độ dài.

size_in_bytes = len(byte_)
# output: 34 (in bytes)

Cảm ơn bạn đã đọc blog này! 😇

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọcsys.getsizeof() can be done to find the storage size of a particular object that occupies some space in the memory. This function returns the size of the object in bytes. It takes at most two arguments i.e Object itself.

    Bàn luận Only the memory consumption directly attributed to the object is accounted for, not the memory consumption of objects it refers to.

    Examples:    

    Input: 
    # Any Integer Value
    sys.getsizeof(4) 
    
    Expected Output: 4 bytes (Size of integer is 4bytes)
    Actual Output: 28 bytes

    Trong Python, việc sử dụng sys.getsizeOf () có thể được thực hiện để tìm kích thước lưu trữ của một đối tượng cụ thể chiếm một số không gian trong bộ nhớ. Hàm này trả về kích thước của đối tượng trong byte. Nó mất nhiều nhất hai đối số tức là chính đối tượng.

    Lưu ý: Chỉ tiêu thụ bộ nhớ được quy cho trực tiếp cho đối tượng được tính, không phải mức tiêu thụ bộ nhớ của các đối tượng mà nó đề cập đến.Ở đây, cách thức chúng ta có thể diễn giải đầu ra thực tế. Có một cái nhìn vào bảng dưới đây: & nbsp;Loại đối tượng
    Kích thước thực sự28 Ghi chú
    int49 Na
    str+1 mỗi ký tự bổ sung (49+tổng chiều dài của ký tự)Tuple
    40 (Tuple trống)+8 mỗi mục bổ sung trong một tuple (40 + 8*Tổng chiều dài của ký tự)danh sách
    56 (Danh sách trống)216 +8 mỗi mục bổ sung trong danh sách (56 + 8*Tổng chiều dài của ký tự)
    bộ232 0-4 Lấy kích thước 216. 5-19 Lấy kích thước 728. 20 sẽ mất 2264, v.v.
    DIGN136 0-5 có kích thước 232. Kích thước 6-10 sẽ là 360. 11th sẽ mất 640, v.v.

    Example:

    Python3

    func def

    Không có thuộc tính và đối số mặc định

    byte_ = json_string.encode("utf-8")
    # or byte_ = bytes(json_string, "utf-8")
    print(byte_)
    # output: b'{"test_1": "xyz", "test_2": "zyx"}'
    5
    byte_ = json_string.encode("utf-8")
    # or byte_ = bytes(json_string, "utf-8")
    print(byte_)
    # output: b'{"test_1": "xyz", "test_2": "zyx"}'
    6

    import json 
    dictionary = {"test_1":"xyz", "test_2":"zyx"} #python object json_string = json.dumps(dictionary)
    8
    import json 
    dictionary = {"test_1":"xyz", "test_2":"zyx"} #python object json_string = json.dumps(dictionary)
    9

    byte_ = json_string.encode("utf-8")
    # or byte_ = bytes(json_string, "utf-8")
    print(byte_)
    # output: b'{"test_1": "xyz", "test_2": "zyx"}'
    5
    size_in_bytes = len(byte_)
    # output: 34 (in bytes)
    3

    Các

    byte_ = json_string.encode("utf-8")
    # or byte_ = bytes(json_string, "utf-8")
    print(byte_)
    # output: b'{"test_1": "xyz", "test_2": "zyx"}'
    5
    Input: 
    # Any Integer Value
    sys.getsizeof(4) 
    
    Expected Output: 4 bytes (Size of integer is 4bytes)
    Actual Output: 28 bytes
    8

    Input: 
    # Any Integer Value
    sys.getsizeof(4) 
    
    Expected Output: 4 bytes (Size of integer is 4bytes)
    Actual Output: 28 bytes
    9
    byte_ = json_string.encode("utf-8")
    # or byte_ = bytes(json_string, "utf-8")
    print(byte_)
    # output: b'{"test_1": "xyz", "test_2": "zyx"}'
    1 for1
    size_in_bytes = len(byte_)
    # output: 34 (in bytes)
    7
    size_in_bytes = len(byte_)
    # output: 34 (in bytes)
    8
    size_in_bytes = len(byte_)
    # output: 34 (in bytes)
    9
    size_in_bytes = len(byte_)
    # output: 34 (in bytes)
    8
    size_in_bytes = len(byte_)
    # output: 34 (in bytes)
    9
    size_in_bytes = len(byte_)
    # output: 34 (in bytes)
    8__

    byte_ = json_string.encode("utf-8")
    # or byte_ = bytes(json_string, "utf-8")
    print(byte_)
    # output: b'{"test_1": "xyz", "test_2": "zyx"}'
    5sys.getsizeof3

    Các

    byte_ = json_string.encode("utf-8")
    # or byte_ = bytes(json_string, "utf-8")
    print(byte_)
    # output: b'{"test_1": "xyz", "test_2": "zyx"}'
    5type(json.dumps(something))==str6

    type(json.dumps(something))==str7___

    byte_ = json_string.encode("utf-8")
    # or byte_ = bytes(json_string, "utf-8")
    print(byte_)
    # output: b'{"test_1": "xyz", "test_2": "zyx"}'
    5encode()7

    Output:

    Hướng dẫn get json size in python - lấy kích thước json trong python

    JSON tính toán kích thước như thế nào?

    Sử dụng Đo bước () để tính toán số lượng ký tự sẽ được in bằng printto ().Sử dụng ĐoPrettyLpm () để tính toán số lượng ký tự sẽ được in bởi PrettyPrintTo (). . Use measurePrettyLength() to compute the number of characters that will be printed by prettyPrintTo() .

    __ sizeof __ trong Python là gì?

    Hàm __sizeof __ () trong Python không chính xác cho chúng ta biết kích thước của đối tượng.Nó không trả về kích thước của một đối tượng máy phát vì Python không thể cho chúng ta biết trước rằng kích thước của một máy phát là bao nhiêu.Tuy nhiên, trong thực tế, nó trả về kích thước bên trong cho một đối tượng cụ thể (tính bằng byte) chiếm bộ nhớ.it returns the internal size for a particular object (in bytes) occupying the memory.

    Làm cách nào để có được kích thước của một đối tượng Python?

    Trong Python, việc sử dụng sys.getsizeOf () có thể được thực hiện để tìm kích thước lưu trữ của một đối tượng cụ thể chiếm một số không gian trong bộ nhớ.Hàm này trả về kích thước của đối tượng trong byte.sys. getsizeof() can be done to find the storage size of a particular object that occupies some space in the memory. This function returns the size of the object in bytes.

    Làm cách nào để đếm các tệp JSON trong Python?

    Sử dụng Len () để đếm các mục trong một đối tượng JSON.Gọi Len (OBJ) để trả về số lượng mục trong đối tượng JSON OBJ.. Call len(obj) to return the number of items in a JSON object obj.