пятница, 3 января 2014 г.

Linux поддержка exFAT

exFAT - проприетарная файловая система от Microsoft, предназначенная для флэш-накопителей. Основное её преимущество перед FAT - уменьшение количества перезаписей одного и того же сектора. Ubuntu изначально не поддерживает файловую систему exFAT, поскольку её разрабатывала Microsoft, и поставляется данная файловая система с ограниченной лицензией, которая не позволяет операционным системам с открытым исходным кодом встраивать её поддержку изначально. 

Но можно добавить поддержку exFAT в Ubuntu. 


воскресенье, 29 декабря 2013 г.

Python добавление разделителей разрядов в числах

Задача: имеем на входе строку, слова в которой разделены пробелом. Если в строке попадается число, то вставляем точки как разделители разрядов. На выходе нужно получить строку.
Например: text =

'123456' => '123.456'
'333' => '333'
'9999999' => '9.999.999'
'123456 567890' => '123.456 567.890'
'price is 5799' => 'price is 5.799'
'he was born in 1966th' => 'he was born in 1966th'

вторник, 24 декабря 2013 г.

понедельник, 23 декабря 2013 г.

пятница, 20 декабря 2013 г.

Linux подключение дополнительного IP

Иногда нужно настроить новую железку с IP по-умолчанию не из моей сети. Для этого надо добавить новый сетевой интерфейс с адресом из сети железки.

для добавления
sudo ifconfig eth0:1 <IP>

для удаления
sudo ifconfig eth0:1 del <IP>
sudo ifconfig eth0:1 down

или после перезагрузки настройка пропадет
eth0:2  и т.д. аналогично можно добавлять еще интерфейсы

четверг, 19 декабря 2013 г.

Python создаём словарь из двух списков

Задача: из двух списков получить словарь, где первый список ключи словаря, второй - значения

key_dict = [1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000]
value_dict = ['I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C', 'CD', 'D', 'CM', 'M']
dict_out = {}

for x, y in zip(key_dict, value_dict):
    dict_out[x] = y

print dict_out
{1: 'I', 4: 'IV', 5: 'V', 9: 'IX', 10: 'X', 40: 'XL', 50: 'L', 90: 'XC', 100: 'C', 400: 'CD', 500: 'D', 900: 'CM', 1000: 'M'}
zip(key_dict, value_dict) создает список такого вида [(1, 'I'), (4, 'IV') ...]



суббота, 14 декабря 2013 г.

Python преобразовать список из [1, [2, 3], 4] в [1, 2, 3, 4]


Задача: преобразовать список из такого типа [1, [2, 3], 4]   в    [1, 2, 3, 4]

check_lst = [[[2]], [4, [5, 6, [6], 6, 6, 6]]]

def check(lst):
    check_bool = True
    out_lst = []
    copy_lst = list(lst)
    while check_bool:
        check_bool = False
        for i in copy_lst:            
            if isinstance(i, list):
                check_bool = True
                out_lst.extend(i)
            else:
                out_lst.append(i)
        if check_bool:
            copy_lst = list(out_lst)
            out_lst = []            
    return out_lst

print check(check_lst)

[2, 4, 5, 6, 6, 6, 6, 6]
Лучшее решение