Я полагаю из вашего примера статического массива, что вам нужен прямоугольный массив, а не зубчатый. Вы можете использовать следующее:
int *ary = new int[sizeX * sizeY];
Затем вы можете получить доступ к элементам как:
ary[y*sizeX + x]
Не забудьте использовать delete [] на ary
.
Метод магии питона, предложенный toivotuo, устарел. Текущий ствол Python-magic находится на Github, и на основе имеющегося там файла readme поиск MIME-типа выполняется следующим образом.
# For MIME types
>>> import magic
>>> mime = magic.Magic(mime=True)
>>> mime.from_file("testdata/test.pdf")
'application/pdf'
>>>
Вы не заявили, какой веб-сервер Вы использовали, но Apache имеет миленький модуль, названный Волшебство Пантомимы , который это использует для определения типа файла, когда сказали, чтобы сделать так. Это читает часть содержания файла и попыток выяснить то, что вводит его, основан на найденных символах. И как Dave Webb Упомянул , Модуль MimeTypes в соответствии с Python будет работать, если расширение удобно.
, С другой стороны, если Вы сидите на поле UNIX, можно использовать sys.popen('file -i ' + fileName, mode='r')
для захвата типа MIME. Windows должен иметь эквивалентную команду, но я не уверен относительно того, каково это.
mimetypes модуль в стандартной библиотеке решит/предположит тип MIME от расширения файла.
, Если пользователи загружают файлы, сообщение HTTP будет содержать тип MIME файла вместе с данными. Например, Django делает это доступными данными как атрибут объект UploadedFile.
в python 2.6:
mime = subprocess.Popen("/usr/bin/file --mime PATH", shell=True, \
stdout=subprocess.PIPE).communicate()[0]
Более надежный путь, чем использовать библиотеку Mimetypes, будет использовать пакет Python Magic.
import magic
m = magic.open(magic.MAGIC_MIME)
m.load()
m.file("/tmp/document.pdf")
Это будет эквивалентно использовать файл (1).
На Django можно также убедиться, что тип MIME соответствует, что uploadedfile.content_type.