Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Простой Python просто с нуля

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
10
Ʉɢɥɨɛɚɣɬ ɷɬɨ 1024 ɛɚɣɬɚ, ɱɬɨ ɪɚɜɧɨ
2 . ɋ ɦɚɬɟɦɚɬɢɱɟɫɤɨɣ ɢɥɢ
ɩɪɨɝɪɚɦɦɢɫɬɫɤɨɣ ɬɨɱɤɢ ɡɪɟɧɢɹ, ɫɦɟɫɶ ɞɜɨɟɤ ɢ ɞɟɫɹɬɨɤ ɜɵɝɥɹɞɢɬ ɤɚɤ-ɬɨ ɧɟɨɪɝɚɧɢɱɧɨ. ɋɤɨɪɟɟ ɜɫɟɝɨ, ɤɨɦɭ-ɬɨ ɯɨɬɟɥɨɫɶ ɢɦɟɬɶ ɤɚɤɨɣ-ɬɨ ɚɧɚɥɨɝ ɜɟɫɨɜɨɝɨ ɤɢɥɨɝɪɚɦɦɚ. ȿɞɢɧɢɰɵ ɤɪɭɩɧɟɟ:
Ɇɟɝɚɛɚɣɬ = Ƚɢɝɚɛɚɣɬ =
10
2 ɤɢɥɨɛɚɣɬ = 202 ɛɚɣɬ
10
2 ɦɟɝɚɛɚɣɬ = 202 ɤɢɥɨɛɚɣɬ = 302 ɛɚɣɬ
Ɍɟɪɚɛɚɣɬ = ɫɱɢɬɚɣɬɟ ɫɚɦɢ Ʉɢɥɨɛɚɣɬ – ɷɬɨ ɧɟ ɬɵɫɹɱɚ ɛɚɣɬ, ɷɬɨ ɱɭɬɶ ɛɨɥɶɲɟ. ɏɨɪɨɲɨ ɷɬɨ ɢɥɢ ɩɥɨɯɨ?
ɋɟɣɱɚɫ ɜɫɟɦ ɜɫɺ ɪɚɜɧɨ, ɚ ɪɚɧɶɲɟ ɪɟɝɭɥɹɪɧɨ ɜɨɡɧɢɤɚɥɢ ɫɢɬɭɚɰɢɢ. ɉɨɤɭɩɚɟɬ ɱɟɥɨɜɟɤ ɡɚ ɞɟɧɶɝɢ, ɤ ɩɪɢɦɟɪɭ, ɠɺɫɬɤɢɣ ɞɢɫɤ, ɤ ɩɪɢɦɟɪɭ, ɺɦɤɨɫɬɶɸ 500 ɦɟɝɚɛɚɣɬ. ɍɫɬɚɧɚɜɥɢɜɚɟɬ ɟɝɨ ɜ ɤɨɦɩɶɸɬɟɪ ɢ ɨɛɧɚɪɭɠɢɜɚɟɬ, ɱɬɨ ɦɟɝɚɛɚɣɬ ɬɨɥɶɤɨ 476 ɫ ɱɟɦ-ɬɨ. ɍɤɪɚɥɢ! ȼ ɤɚɤɨɦ-ɬɨ ɫɦɵɫɥɟ ɞɚ, ɭɤɪɚɥɢ. ɉɪɨɞɚɜɰɵ ɠɺɫɬɤɢɯ ɞɢɫɤɨɜ ɫɱɢɬɚɥɢ ɨɞɢɧ ɦɟɝɚɛɚɣɬ ɡɚ ɦɢɥɥɢɨɧ ɛɚɣɬ, ɚ ɤɨɦɩɶɸɬɟɪ ɧɟ
20
ɨɛɦɚɧɟɲɶ, ɨɧ ɬɪɟɛɨɜɚɥ ɢɦɟɧɧɨ
.
2
Ⱥ ɜ ɩɨɩɭɝɚɹɯ-ɬɨ ɹ ɞɥɢɧɧɟɟ ɛɭɞɭ!
© ɤɫɬɚɬɢ, ɉɢɬɨɧ, ɢɡ ɦɭɥɶɬɮɢɥɶɦɚ «38 ɩɨɩɭɝɚɟɜ»
ɂ ɞɚ, ɹ ɡɧɚɸ, ɱɬɨ ɜɫɺ ɧɟ ɬɚɤ ɩɪɨɫɬɨ – ɢ ɫ ɛɚɣɬɚɦɢ, ɢ ɫ ɬɟɪɚɛɚɣɬɚɦɢ, ɢ ɫɨ ɫɥɨɜɚɦɢ, ɢ ɫɨ ɫɬɪɨɤɚɦɢ. Ɉɫɨɛɟɧɧɨ, ɤɨɧɟɱɧɨ, ɫɨ ɫɬɪɨɤɚɦɢ.
251
ɉɪɢɥɨɠɟɧɢɟ G. Ɉɛɦɟɧ ɞɚɧɧɵɦɢ ɫ ɞɪɭɝɢɦɢ ɩɪɨɝɪɚɦɦɚɦɢ
ɱɟɪɟɡ ɮɚɣɥɵ
Ʌɨɝɢɱɧɨ ɡɚɜɟɪɲɢɬɶ ɤɧɢɝɭ, ɨɛɫɭɞɢɜ, ɤɚɤ ɫɬɵɤɨɜɚɬɶ ɩɪɨɝɪɚɦɦɵ ɧɚ ɉɢɬɨɧɟ ɫ ɩɪɨɝɪɚɦɦɚɦɢ ɧɚ ɞɪɭɝɢɯ ɹɡɵɤɚɯ ɢɥɢ ɤɚɤ ɧɚɩɢɫɚɬɶ ɟɞɢɧɭɸ ɩɪɨɝɪɚɦɦɭ ɱɚɫɬɢɱɧɨ ɧɚ ɉɢɬɨɧɟ, ɚ ɱɚɫɬɢɱɧɨ ɧɚ C++ ɢɥɢ Ⱦɟɥɶɮɢ. ɇɚɩɢɫɚɬɶ ɨɞɧɭ ɩɪɨɝɪɚɦɦɭ ɧɚ ɧɟɫɤɨɥɶɤɢɯ ɹɡɵɤɚɯ ɫɥɨɠɧɨ. Ɉɛɦɟɧɢɜɚɬɶɫɹ ɞɚɧɧɵɦɢ ɦɟɠɞɭ ɞɜɭɦɹ ɩɪɨɝɪɚɦɦɚɦɢ, ɧɚɩɢɫɚɧɧɵɦɢ ɧɚ ɪɚɡɧɵɯ ɹɡɵɤɚɯ, ɦɧɨɝɨ ɩɪɨɳɟ. ɋɚɦɵɣ ɩɪɨɫɬɨɣ ɫɩɨɫɨɛ – ɨɛɦɟɧɢɜɚɬɶɫɹ ɞɚɧɧɵɦɢ ɱɟɪɟɡ ɮɚɣɥɵ. ɗɬɨ ɦɟɞɥɟɧɧɨ, ɷɬɨ ɧɟ ɨɱɟɧɶ ɧɚɞɺɠɧɨ, ɷɬɨ ɧɟɝɢɛɤɨ – ɧɨ ɷɬɨ ɨɱɟɧɶ ɩɪɨɫɬɨ ɢ ɨɱɟɧɶ ɩɨɧɹɬɧɨ. ɗɬɢɦ ɢ ɡɚɣɦɟɦɫɹ.
ɂ ɩɨɜɬɨɪɸɫɶ – ɷɬɚ, ɩɨɫɥɟɞɧɹɹ ɜ ɤɧɢɝɟ ɡɚɞɚɱɚ, ɧɢ ɪɚɡɭ ɧɟ ɭɱɟɛɧɚɹ. ɗɬɨ ɡɚɞɚɱɚ ɪɟɚɥɶɧɚɹ ɢ ɚɛɫɨɥɸɬɧɨ ɧɟɨɛɯɨɞɢɦɚɹ.
Ɉɩɹɬɶ-ɬɚɤɢ, ɟɫɥɢ ɜɚɫ ɢɧɬɟɪɟɫɭɟɬ ɬɨɥɶɤɨ ɢ ɢɫɤɥɸɱɢɬɟɥɶɧɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟ ɧɚ ɉɢɬɨɧɟ ɢ ɬɨɥɶɤɨ ɧɚ ɧɺɦ, ɷɬɨɬ ɪɚɡɞɟɥ ɦɨɠɧɨ ɫɦɟɥɨ ɩɪɨɩɭɫɬɢɬɶ. ȿɫɥɢ ɜ ɜɚɲɢɯ ɩɥɚɧɚɯ ɭɱɚɫɬɢɟ ɜ ɛɨɥɶɲɢɯ ɩɪɨɟɤɬɚɯ, ɝɞɟ ɡɚɞɟɣɫɬɜɨɜɚɧɵ ɪɚɡɧɵɟ ɫɪɟɞɵ ɢ ɹɡɵɤɢ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ, ɬɨ ɷɬɨɬ ɪɚɡɞɟɥ ɥɭɱɲɟ ɩɪɨɱɢɬɚɬɶ.
ɗɬɨ ɟɞɢɧɫɬɜɟɧɧɵɣ ɪɚɡɞɟɥ ɢɡɨ ɜɫɟɣ ɤɧɢɝɢ, ɝɞɟ ɩɪɢɜɨɞɢɬɫɹ ɩɪɢɦɟɪ ɧɚ ɞɪɭɝɨɦ ɹɡɵɤɟ. ɐɟɥɶ ɷɬɨɝɨ ɪɚɡɞɟɥɚ – ɩɪɨɞɟɦɨɧɫɬɪɢɪɨɜɚɬɶ, ɤɚɤ ɧɚɲɢ ɮɚɣɥɵ ɢɡ ɉɢɬɨɧɚ ɛɭɞɭɬ ɱɢɬɚɬɶɫɹ ɜ ɞɪɭɝɨɦ ɹɡɵɤɟ ɢ, ɝɥɚɜɧɨɟ, ɤɚɤɢɟ ɩɪɢ ɷɬɨɦ ɦɨɝɭɬ ɜɨɡɧɢɤɧɭɬɶ ɩɪɨɛɥɟɦɵ. ȼ ɤɚɱɟɫɬɜɟ ɞɪɭɝɨɝɨ ɹɡɵɤɚ ɛɭɞɟɬ ɢɫɩɨɥɶɡɨɜɚɧ Delphi ɫɟɞɶɦɨɣ ɜɟɪɫɢɢ. Ɋɚɧɶɲɟ ɜ ɫɪɟɞɟ Ⱦɟɥɶɮɢ ɢɫɩɨɥɶɡɨɜɚɥɫɹ ɹɡɵɤ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ Object Pascal, ɬɟɩɟɪɶ ɧɟɬ. ɇɟɬ, ɨɧ ɧɢɤɭɞɚ ɧɟ ɞɟɥɫɹ, ɟɝɨ ɥɟɝɤɨ ɢ ɧɟɩɪɢɧɭɠɞɟɧɧɨ ɩɟɪɟɢɦɟɧɨɜɚɥɢ ɜ ɹɡɵɤ Delhi. ɋɥɟɞɭɸɳɢɟ, ɩɨɫɥɟ ɫɟɞɶɦɨɣ, ɜɟɪɫɢɢ ɡɚɝɪɨɦɨɠɞɚɥɢ ɛɵ ɢɡɥɨɠɟɧɢɟ ɧɚɥɢɱɢɟɦ ɞɜɭɯɛɚɣɬɨɜɨɣ ɤɨɞɢɪɨɜɤɢ ɫɢɦɜɨɥɨɜ.
Ɂɚɩɢɲɟɦ ɛɢɧɚɪɧɵɣ ɮɚɣɥ ɜ ɉɢɬɨɧɟ, ɷɬɨ ɦɵ ɭɦɟɟɦ, ɡɚɬɟɦ ɩɪɨɱɢɬɚɟɦ ɜ Ⱦɟɥɶɮɢ. ɋɨɞɟɪɠɚɧɢɟ ɮɚɣɥɚ:
ɤɨɥɢɱɟɫɬɜɨ ɰɟɥɵɯ ɱɢɫɟɥ
ɫɚɦɢ ɰɟɥɵɟ ɱɢɫɥɚ ɜ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɦ ɤɨɥɢɱɟɫɬɜɟ ɨɞɧɨ ɩɥɚɜɚɸɳɟɟ ɱɢɫɥɨ ɞɜɟ ɫɬɪɨɤɢ
252
ɉɪɨɝɪɚɦɦɚ ɧɚ ɉɢɬɨɧɟ ɫ ɤɨɦɦɟɧɬɚɪɢɹɦɢ, ɤɨɬɨɪɵɟ ɛɭɞɭɬ ɞɥɢɧɧɵɦɢ:
x
import struct #-----------------------------------------------­def strToFile( S, F): length = len(S)
data = struct.pack( '<i4', length) F.write(data)
for i in xrange(0,length): ch = S[i] data = struct.pack( '<s1', ch) F.write(data) #------------------------------------------------
f = open( 'd:/py.bin', 'wb')
numOfInts = 10 data = struct.pack( '<i4', numOfInts) f.write(data)
for i in xrange(0,numOfInts): what = i*2 + 1 data = struct.pack( '<i4', what) f.write(data)
x = 0.99**100 data = struct.pack( '<f4', x) f.write(data)
stroka_1 = 'And the silken sad uncertain rustling of each purple curtain' strToFile( stroka_1, f)
stroka_2 = 'ɗɯ ɪɚɡ, ɟɳɺ ɪɚɡ, ɟɳɺ ɦɧɨɝɨ ɦɧɨɝɨ ɪɚɡ' strToFile( stroka_2, f)
f.close()
Ɂɚɩɢɫɶ ɫɬɪɨɤɢ ɜ ɮɚɣɥ ɨɮɨɪɦɥɟɧɚ ɜ ɜɢɞɟ ɮɭɧɤɰɢɢ – ɩɨɜɬɨɪɧɨ ɩɢɫɚɬɶ ɩɨɱɬɢ ɨɞɢɧ ɢ ɬɨ ɠɟ ɤɨɞ ɤɚɤ ɦɢɧɢɦɭɦ ɞɜɚɠɞɵ ɨɬɤɪɨɜɟɧɧɨ ɥɟɧɶ. ɇɟɩɥɨɯɨ ɛɵ ɨɮɨɪɦɢɬɶ ɚɧɚɥɨɝɢɱɧɵɦ ɨɛɪɚɡɨɦ ɢ ɡɚɩɢɫɶ ɜ ɮɚɣɥ ɞɥɹ ɞɪɭɝɢɯ ɬɢɩɨɜ ɩɟɪɟɦɟɧɧɵɯ. Ɂɚɣɦɢɬɟɫɶ ɷɬɢɦ. ȼɵ ɫɨɫɱɢɬɚɥɢ ɜ ɭɦɟ, ɫɤɨɥɶɤɨ ɛɭɞɟɬ
0.99**100
, ɬɨ ɟɫɬɶ
100
99.0
? ə ɫɨɫɱɢɬɚɥ ɢ ɨɲɢɛɫɹ ɜɫɟɝɨ ɜ ɩɨɥɬɨɪɚ ɪɚɡɚ.
x =
ɉɨɩɪɨɛɭɣɬɟ ɢ ɜɵ.
Ɍɟɩɟɪɶ ɫɚɦɵɣ ɜɚɠɧɵɣ ɜɨɩɪɨɫ. ɉɨɱɟɦɭ ɫɬɪɨɤɢ ɩɢɲɭɬɫɹ ɢɦɟɧɧɨ ɬɚɤ, ɤɚɤ ɨɧɢ ɩɢɲɭɬɫɹ ɡɞɟɫɶ? Ɉɬɜɟɬ – ɚ ɤɚɤ? ɍɧɢɜɟɪɫɚɥɶɧɨɝɨ ɫɩɨɫɨɛɚ ɧɟ
ɜɨɨɛɳɟ.
253
ɋɬɚɧɞɚɪɬɧɵɣ ɩɢɬɨɧɫɤɢɣ ɫɩɨɫɨɛ ɱɟɪɟɡ ɮɨɪɦɚɬ
s ɧɟ ɩɨɞɯɨɞɢɬ – ɱɢɬɚɸɳɚɹ
ɩɪɨɝɪɚɦɦɚ ɦɚɥɨ ɬɨɝɨ, ɱɬɨ ɧɟ ɞɨɝɚɞɚɟɬɫɹ, ɱɬɨ ɩɟɪɟɞ ɧɟɣ ɫɬɪɨɤɚ. Ⱦɚɠɟ ɟɫɥɢ ɤɚɤɢɦ-ɬɨ ɱɭɞɨɦ ɨɧɚ ɷɬɨ ɩɨɣɦɺɬ, ɟɣ ɧɟɢɡɜɟɫɬɧɨ ɛɭɞɟɬ, ɫɤɨɥɶɤɨ ɜ ɫɬɪɨɤɟ ɫɢɦɜɨɥɨɜ. ȼɬɨɪɨɣ ɮɨɪɦɚɬ, ɤɨɬɨɪɵɣ
p, ɤɚɠɟɬɫɹ ɛɨɥɟɟ ɩɟɪɫɩɟɤɬɢɜɧɵɦ. ȼɟɞɶ
ɨɧ ɫɩɟɰɢɚɥɶɧɨ ɞɥɹ ɫɨɜɦɟɫɬɢɦɨɫɬɢ ɫ ɉɚɫɤɚɥɟɦ, ɤɨɬɨɪɵɣ, ɤɚɤ ɜɫɟɦ ɢɡɜɟɫɬɧɨ, ɬɨ ɠɟ Ⱦɟɥɶɮɢ, ɬɨɥɶɤɨ ɜ ɩɪɨɮɢɥɶ. ɇɨ ɟɫɬɶ ɧɸɚɧɫ. ɂɥɢ ɞɜɚ. Ɇɵ ɦɨɠɟɦ ɡɚɩɢɫɚɬɶ – ɢ ɩɪɨɱɢɬɚɬɶ – ɬɚɤɢɦ ɫɩɨɫɨɛɨɦ ɬɨɥɶɤɨ ɤɨɪɨɬɤɢɟ ɫɬɪɨɤɢ, ɞɨ 255 ɫɢɦɜɨɥɨɜ. ɂ, ɫɚɦɨ ɫɨɛɨɣ, ɞɪɭɝɢɦ ɹɡɵɤɚɦ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɷɬɨɬ ɮɨɪɦɚɬ ɫɨɜɟɪɲɟɧɧɨ ɧɟɢɡɜɟɫɬɟɧ.
ɉɨɷɬɨɦɭ ɦɵ ɛɭɞɟɦ ɩɢɫɚɬɶ ɫɬɪɨɤɢ ɜ ɮɚɣɥ ɜ ɮɨɪɦɚɬɟ, ɤɨɬɨɪɵɣ ɯɨɬɹ ɢ ɧɟ ɭɧɢɜɟɪɫɚɥɟɧ, ɧɨ ɩɨɧɹɬɟɧ ɢ ɜɫɬɪɟɱɚɟɬɫɹ ɱɚɫɬɨ. ɋɧɚɱɚɥɚ ɞɥɢɧɚ ɫɬɪɨɤɢ ɤɚɤ ɱɟɬɵɪɺɯɛɚɣɬɨɜɨɟ ɰɟɥɨɟ. Ɂɚɬɟɦ ɫɚɦɢ ɫɢɦɜɨɥɵ, ɩɨ ɛɚɣɬɭ ɧɚ ɫɢɦɜɨɥ. Ɍɨɱɧɨ ɬɚɤ ɠɟ, ɤɚɤ ɢ ɜ ɉɢɬɨɧɟ, ɱɬɟɧɢɟ ɫɬɪɨɤɢ ɨɮɨɪɦɢɦ ɜ ɜɢɞɟ ɮɭɧɤɰɢɢ. ȼɨɬ ɩɪɨɝɪɚɦɦɚ ɞɥɹ ɱɬɟɧɢɹ:
var F : file; numOfInts : integer; int : integer; fl : single; stroka_1, stroka_2 : string; i : integer;
{..........................................................}
function strFromFile( var F : file) : string; var length : integer; ch : char; i : integer; begin BlockRead( F, length, 4);
result:=''; for i:=1 to length do begin BlockRead( F, ch, 1); result:=result + ch; end; end;
{..........................................................}
begin AssignFile( F, 'd:\py.bin'); ReSet( F, 1);
BlockRead( F, numOfInts, 4); for i:=1 to numOfInts do begin BlockRead( F, int, 4); ShowMessage(IntToStr(int));
254
end;
BlockRead( F, fl, 4);
stroka_1:=strFromFile(F); stroka_2:=strFromFile(F);
CloseFile(F); end;
ɇɟ ɛɭɞɟɦ ɨɛɫɭɠɞɚɬɶ ɫɪɚɜɧɢɬɟɥɶɧɵɟ ɞɨɫɬɨɢɧɫɬɜɚ ɢ ɧɟɞɨɫɬɚɬɤɢ ɉɢɬɨɧɚ ɢ ɉɚɫɤɚɥɹ ɢ ɜɨɨɛɳɟ ɤɚɤ-ɬɨ ɤɨɦɦɟɧɬɢɪɨɜɚɬɶ ɩɪɨɝɪɚɦɦɭ. ȿɞɢɧɫɬɜɟɧɧɨɟ, ɱɬɨ ɨɬɦɟɱɭ – ɟɫɥɢ ɜ ɩɢɬɨɧɫɤɨɣ ɩɪɨɝɪɚɦɦɟ ɰɟɥɵɟ ɱɢɫɥɚ ɜɨɡɧɢɤɚɥɢ ɢɡ ɧɢɨɬɤɭɞɚ, ɬɨ ɜ ɩɚɫɤɚɥɟɜɫɤɨɣ ɨɧɢ ɢɫɱɟɡɚɸɬ ɜ ɧɢɤɭɞɚ – ɜɵɜɨɞɹɬɫɹ ɧɚ ɷɤɪɚɧ, ɩɪɢɱɺɦ ɤɚɠɞɨɟ – ɜ ɨɬɞɟɥɶɧɨɟ ɨɤɧɨ ɨɬɞɟɥɶɧɵɦ ɫɨɨɛɳɟɧɢɟɦ. ɗɬɨ ɹ ɤ ɬɨɦɭ, ɱɬɨ ɷɬɚ ɱɚɫɬɶ ɨɛɟɢɯ ɩɪɨɝɪɚɦɦ ɫɨɜɟɪɲɟɧɧɨ ɭɫɥɨɜɧɚ ɢ ɜ ɪɟɚɥɶɧɨɣ ɩɪɚɤɬɢɤɟ ɞɨɥɠɧɚ ɛɵɬɶ ɡɚɦɟɧɟɧɚ ɧɚ ɱɬɨ-ɬɨ ɨɫɦɵɫɥɟɧɧɨɟ.
Ɍɟɩɟɪɶ ɨɛɪɚɬɧɚɹ ɡɚɞɚɱɚ. Ɂɚɩɢɲɟɦ ɮɚɣɥ ɜ ɉɚɫɤɚɥɟ, ɬɨɥɶɤɨ ɩɪɨɳɟ: ɰɟɥɨɟ, ɩɥɚɜɚɸɳɟɟ, ɫɬɪɨɤɚ. Ɂɚɩɢɫɶ ɫɬɪɨɤɢ, ɪɚɡɭɦɟɟɬɫɹ, ɨɮɨɪɦɢɦ ɤɚɤ ɩɪɨɰɟɞɭɪɭ.
var len : integer; ch : char; i : integer; begin len:=Length(s); BlockWrite( F, len, 4);
for i:=1 to len do begin ch:=s[i]; BlockWrite( F, ch, 1); end; end;
{..........................................................}
begin AssignFile( F, 'd:\pas.bin'); ReWrite( F, 1);
int:=12345; BlockWrite( F, int, 4);
fl:=123.45; BlockWrite( F, fl, 4);
stroka:='ɂ ɦɧɨɝɨ ɦɧɨɝɨ ɪɚɞɨɫɬɢ ɞɟɬɢɲɤɚɦ ɩɪɢɧɟɫɥɚ'; strToFile( F, stroka);
CloseFile(F);
255
end;
Ɉɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ ɧɚ ɩɟɪɟɢɦɟɧɨɜɚɧɢɟ ɩɟɪɟɦɟɧɧɨɣ ɢɡ
length ɜ len. ɉɟɪɜɨɟ
ɢɦɹ ɜ ɉɚɫɤɚɥɟ – ɢɦɹ ɜɫɬɪɨɟɧɧɨɣ ɮɭɧɤɰɢɢ, ɚ ɜɬɨɪɨɟ – ɧɟɬ. ȼ ɉɢɬɨɧɟ ɧɚɨɛɨɪɨɬ. Ⱥ ɬɟɩɟɪɶ ɱɬɟɧɢɟ ɜ ɉɢɬɨɧɟ, ɬɨɠɟ ɫɨɜɟɪɲɟɧɧɨ ɫɢɦɦɟɬɪɢɱɧɨɟ:
# -*- coding: cp1251 -*-
import struct
def strFromFile(F):
result = '' data = F.read(4) length = struct.unpack('<i4',data)
for i in xrange(0,length[0]): data = F.read(1) ch = struct.unpack( '<s1', data) result = result + ch[0]
return result
F = open( 'd:/pas.bin', 'rb')
data = F.read(4) int = struct.unpack( '<i4', data) print int
data = F.read(4) fl = struct.unpack( '<f4', data) print fl
stroka = strFromFile(F) print stroka
F.close()
ɇɚɩɨɦɢɧɚɸ – ɩɪɢ ɱɬɟɧɢɢ ɢɡ ɛɢɧɚɪɧɨɝɨ ɮɚɣɥɚ ɞɚɧɧɵɟ ɱɢɬɚɸɬɫɹ ɧɟ ɩɪɨɫɬɨ ɬɚɤ, ɚ ɜ ɤɨɪɬɟɠ. ɉɨɬɨɦ ɢɯ ɩɪɢɯɨɞɢɬɫɹ ɨɬɬɭɞɚ ɜɵɤɨɜɵɪɢɜɚɬɶ. ɗɬɨ ɨɬɧɨɫɢɬɫɹ ɬɨɥɶɤɨ ɤ ɉɢɬɨɧɭ.
256
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]