Tôi có một đoạn trích đọc hình ảnh của tôi cục bộ [trả về nhị phân], tức là:
image = 'car.jpg'
with open[image, 'rb'] as image_file:
content = image_file.read[]
Tôi đang cố gắng tạo lại giống nhau nhưng với những hình ảnh được lưu trữ trên internet, tôi đã thử với những điều sau đây nhưng tôi không gặp may mắn.
from urllib.request import urlopen
from PIL import Image
import io
url = '//somewebsite.com/fm-01/car.jpg'
image = urlopen[url]
image_file = io.BytesIO[image.read[]]
im = Image.open[image_file]
im = im.tobytes[]
CHỈNH SỬA ...
Cùng một hình ảnh chính xác, một trên Google Cloud Storage và hình ảnh còn lại cục bộ. Chúng có các byte khác nhau khi mở chúng.
with open['car.jpg','rb'] as image_file:
content = image_file.read[]
print[len[content]]
Kích thước: 234712
url = '//storage.googleapis.com/fm-01/car.jpg'
img = Image.open[urlopen[url]]
image = img.tobytes[]
print[len[image]]
Kích thước: 1077600
jrcagle77 thực tế là một poster chính 77 Practically a Master Poster
13 năm trướcTìm kiếm diễn đàn này cho bộ chuyển đổi nhị phân của Vega sang Decimal sang nhị phân. Mã của bạn đang đọc chính xác dữ liệu; Bây giờ bạn chỉ cần tìm đúng cách để hiển thị nó.
Jeff
Vegaseat1.735 đồng nghiệp của Đội đạo đức giả của Daniweb 1,735 DaniWeb's Hypocrite Team Colleague
Tôi đã lấy mã tôi phải đổ dữ liệu hình ảnh thập lục phân và thêm một tùy chọn nhị phân vào nó ,,,
# hexadecimal and binary dump of image file data
# modified to work with Python30
import binascii
try:
# pick an image file you have in the working directory
# or give the full file path ...
image_file = 'py.ico'
fin = open[image_file, "rb"]
data = fin.read[]
fin.close[]
except IOError:
print["Image file %s not found" % imageFile]
raise SystemExit
# convert every byte of data to the corresponding 2-digit hexadecimal
hex_str = str[binascii.hexlify[data]]
# now create a list of 2-digit hexadecimals
hex_list = []
bin_list = []
for ix in range[2, len[hex_str]-1, 2]:
hex = hex_str[ix]+hex_str[ix+1]
hex_list.append[hex]
bin_list.append[bin[int[hex, 16]][2:]]
#print[bin_list]
bin_str = "".join[bin_list]
print[bin_str]
Đầu ra chuỗi nhị phân là khá vô dụng, vì bạn không bao giờ có thể khôi phục bất kỳ dữ liệu nào trở lại.
Nếu bạn muốn gửi dữ liệu hình ảnh nhị phân dưới dạng chuỗi, bạn phải sử dụng mô -đun Python Base64.
Lập trình bên PythonserverServer Side ProgrammingProgramming
Ngoài lập trình cơ bản - Python trung gian
Phổ biến nhất
36 bài giảng 3 giờ 3 hours
Mohammad Nauman
Chi tiết hơn
Học máy thực tế bằng cách sử dụng Python
Người bán hàng giỏi nhất
91 bài giảng 23,5 giờ 23.5 hours
Manas Dasgupta
Chi tiết hơn
Học máy thực tế bằng cách sử dụng Python
Người bán hàng giỏi nhất 6 hours
Manas Dasgupta
Chi tiết hơn
Học máy thực tế bằng cách sử dụng Python
Người bán hàng giỏi nhất
f = open['my_file.mp3', 'rb'] file_content = f.read[] f.close[]
91 bài giảng 23,5 giờ
Manas Dasgupta
Khoa học dữ liệu thực tế sử dụng Python
- 22 bài giảng 6 giờ
- Các tệp "nhị phân" là bất kỳ tệp nào trong đó định dạng không được tạo thành từ các ký tự có thể đọc được. Các tệp nhị phân có thể bao gồm từ các tệp hình ảnh như JPEG hoặc GIF, tệp âm thanh như mp3 hoặc định dạng tài liệu nhị phân như Word hoặc PDF. Trong Python, các tệp được mở ở chế độ văn bản theo mặc định. Để mở các tệp ở chế độ nhị phân, khi chỉ định chế độ, hãy thêm 'B' vào nó.
- Ví dụ
- & nbsp; Mã trên mở my_file.mp3 trong chế độ đọc nhị phân và lưu trữ nội dung tệp trong biến File_Content.
- Manogna
- Cập nhật vào ngày 12 tháng 12 năm 2019 07:00:11
- Câu hỏi và câu trả lời liên quan
- Làm thế nào để mở một tệp nhị phân ở chế độ nối với Python?
- Làm thế nào để mở một tệp nhị phân ở chế độ đọc và ghi với Python?
- Làm thế nào để mở một tệp ở chế độ phụ lục với Python?
- Làm thế nào để mở một tệp trong chế độ đọc và ghi với Python?
- Làm thế nào để mở một tệp để viết bằng Python?
- Làm thế nào để mở một tập tin chỉ để đọc trong Python?
- Làm thế nào để thay đổi chế độ của một tệp bằng Python?
- Làm cách nào để mở tệp VDS với ba JS?
- Làm thế nào để có được dòng tệp mở hiện tại trong Python?
Làm thế nào để mở một tệp trong cùng một thư mục với tập lệnh Python?
Làm thế nào để mở một tệp văn bản đơn giản trong C#?