cuốn sách gpt4 ai đã làm

android — Lỗi bộ nhớ khi gửi một số ảnh trong Telegram Bot

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 21:09:45 28 4
mua khóa gpt4 Nike

Tôi đã tạo Telegram Bot để gửi một số ảnh cho người dùng. Nó hoạt động tốt với 4 hoặc 5 bức ảnh, nhưng sau đó bị hỏng. Tôi gửi ảnh như thế này:

cho tôi trong phạm vi(len(trang)):
ảnh = open('pics/{0}.jpg'.format(i+1), 'rb')
bot.send_photo(chat_id=chat_id,photo=photo)

Đây là lỗi của tôi:

2019-03-13 14:30:52,207 (util.py:65 WorkerThread2) LỖI - TeleBot: "Đã xảy ra lỗi bộ nhớ, args=()
Traceback (most recent call last):
Tệp "/root/Env/pdf/lib/python3.5/site-packages/telebot/util.py", dòng 59, đang chạy
nhiệm vụ(*args, **kwargs)
Tệp "pdf.py", dòng 63, trong hand_docs
trang = Convert_from_path('botpdf.pdf', 500)
Tệp "/root/Env/pdf/lib/python3.5/site-packages/pdf2image/pdf2image.py", dòng 98, trong Convert_from_path
dữ liệu, err = proc.communicate()
Tệp "/usr/lib/python3.5/subprocess.py", dòng 1072, trong giao tiếp
stdout, stderr = self._communicate(đầu vào, thời gian kết thúc, thời gian chờ)
Tệp "/usr/lib/python3.5/subprocess.py", dòng 1745, trong _communicate
thiết bị xuất chuẩn = b''.join(thiết bị xuất chuẩn)
Lỗi bộ nhớ
"
Traceback (most recent call last):
Tệp "pdf.py", dòng 99, trong
bot.polling(none_stop=False, interval=0)
Tệp "/root/Env/pdf/lib/python3.5/site-packages/telebot/__init__.py", dòng 389, trong bỏ phiếu
self.__threaded_polling(none_stop, interval, timeout)
Tệp "/root/Env/pdf/lib/python3.5/site-packages/telebot/__init__.py", dòng 413, trong __threaded_polling
self.worker_pool.raise_Exceptions()
Tệp "/root/Env/pdf/lib/python3.5/site-packages/telebot/util.py", dòng 108, trong raise_Exceptions
six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
Tệp "/root/Env/pdf/lib/python3.5/site-packages/six.py", dòng 693, đang được nâng cấp lại
nâng cao giá trị
Tệp "/root/Env/pdf/lib/python3.5/site-packages/telebot/util.py", dòng 59, đang chạy
nhiệm vụ(*args, **kwargs)
Tệp "pdf.py", dòng 63, trong hand_docs
trang = Convert_from_path('botpdf.pdf', 500)
Tệp "/root/Env/pdf/lib/python3.5/site-packages/pdf2image/pdf2image.py", dòng 98, trong Convert_from_path
dữ liệu, err = proc.communicate()
Tệp "/usr/lib/python3.5/subprocess.py", dòng 1072, trong giao tiếp
stdout, stderr = self._communicate(đầu vào, thời gian kết thúc, thời gian chờ)
Tệp "/usr/lib/python3.5/subprocess.py", dòng 1745, trong _communicate
thiết bị xuất chuẩn = b''.join(thiết bị xuất chuẩn)
Lỗi bộ nhớ

câu trả lời hay nhất

Sử dụng thư mục đầu ra mà bạn hiện đang sử dụngpdf2hình ảnhTất cả hình ảnh trong bộ nhớ sẽ được tải. Điều này có thể có tác động rất lớn!

bạn đã viết ở đâutrang = Convert_from_path('botpdf.pdf', 500)

Thay đổi nó thành:

tệp nhập khẩu

với tempfile.TemporaryDirectory() làm đường dẫn:
trang = Convert_from_path('botpdf.pdf', 500, out_folder=path)

Thao tác này sẽ ghi tất cả hình ảnh đã chuyển đổi vào đĩa trước khi trả lại cho bạn (tiết kiệm rất nhiều bộ nhớ). Bạn cũng có thể chuyển đổi sang JPEG thay vì PPM mặc định (là định dạng thô):

trang = Convert_from_path('botpdf.pdf', 500, fmt='jpeg')

Nhưng với giải pháp này, bạn vẫn sẽ gặp vấn đề nếu tệp PDF rất lớn.

Liên quan đến python - Lỗi bộ nhớ khi gửi một số ảnh trong Telegram Bot, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/55149197/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress