Python
Строки
- Строки в python 3: методы, функции, форматирование :link: :onion:
- Форматування виводу
- Работа с файлами
- Обработка форм
- Форматирование строк с помощью format() :link:
- 10 примеров использования методов строк в python :link:
- Конвертация между байтами и строками :link:
- Ведущие нули
- Яка різниця між
isdigit()
,isdecimal()
,isnumeric()
і як їх використовувати? :link: type()
vsisinstance()
split i join
txt = "welcome to the jungle"
x = txt.split()
print(x) # ['welcome', 'to', 'the', 'jungle']
y = txt.split('o')
print(y) # ['welc', 'me t', 'the jungle']
див.також .rsplit()
, .partition()
, .splitlines()
,
my_tuple = ("John", "Peter", "Vicky")
x = "-".join(my_tuple)
print(x) # 'John-Peter-Vicky'
Списки
Бібліотеки
Словари
Как объединить два словаря в Python :link:
Синтаксис
Арифметика
Три простых способа поменять знак числа на противоположный
positive_digit = 30
b = positive_digit * -1
print(b) # -30
c = 0 - positive_digit
print(c) # -30
d = - positive_digit
print(d) # -30
Аргументы командной строки
import sys
if __name__ == '__main__':
if len(sys.argv)<=2:
print('usage:', sys.argv[0], '<integer1> <integer2>')
sys.exit(1)
val1 = round(float(sys.argv[1]))
val2 = round(float(sys.argv[2]))
print('Сумма целых чисел:', val1+val2)
$ python argv.py
usage: argv.py <integer1> <integer2>
$ python argv.py 3 5
Сумма целых чисел: 8
$ python argv.py 3.2 5.7
Сумма целых чисел: 9
$ python argv.py -3.2 5.3
Сумма целых чисел: 2
см. также argparse, click и др.
- Цветной вывод текста в Python
- Асинхронность python на примере asyncio
- Работа с документацией в Python: поиск информации и соглашения
- Списки VS кортежи. Оптимизации
- Есть ли в Python оператор switch case?
- Форма + AJAX
- Вывод цветного текста
- Отправка e-mail
- Примеры CGI
- Удаление дубликатов из списка. Сохранить порядок элементов
Завершение программ
sys.exit(code) # code - не обязателен
os._exit(code) # code - необходим!
'’code’’ = 0 - нормальное завершение; другие значения, если возникли проблемы
Ошибки
malformed header from script 'script.py': Bad header: NameError, referer: http://...
Скрипт в терминале отрабатывает без ошибок, а в браузере получаем Error 500.
Одна из причин: вероятно, что скрипт пишет в лог. И когда запуск производился через терминал, то файл лога создался владельцем текущей учетной записи. При запуске через http, владелец уже www-data
который не имеет прав записи в этот файл. Нужно просто удалить файл лога и запустить скрипт через http еще раз.
Також, треба звернути увагу на дозволи log-каталогу. cgi-скрипт, який пише лог-файл в каталог (що не належить сайту?) може не працювати з-за проблем permissions… Спочатку треба надати каталогу права
777
, після того, як лог-файл буде створено дозволи можна понизити до755
.
python3: Relink '/lib/x86_64-linux-gnu/libsystemd.so.0' with '/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol 'clock_gettime'
Скрипт в терминале показывает это сообщение, а в браузере получаем Error 500.
Аналогичная предыдущей проблема, возникающая при подключении модуля логирования logging, при настройке записи в файл, который уже создан от другого пользователя. Удалить файл лога или назначить ему разрешение 777.