apt install bluetooth pulseaudio-module-bluetooth blueman bluez-firmware bluewho
Чтоб заработал Bluetooth в XFCE
Добавить комментарий
apt install bluetooth pulseaudio-module-bluetooth blueman bluez-firmware bluewho
Сохранение списка установленных модулей в файл
pip freeze > requirements.txt
Установка пакетов по списку из файла
pip install -r requirements.txt
Redis
Установка
*
Из исходников
Скачать, извлечь и скомпилировать Redis:
$ wget https://download.redis.io/releases/redis-6.2.6.tar.gz
$ tar xzf redis-6.2.6.tar.gz
$ cd redis-6.2.6
$ make
Собранные бинарники теперь лежат в папке src. Запуск Redis:
$ src/redis-server
$ src/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379>
Из официального репозитория Debian/Ubuntu [Beta]
$ curl https://packages.redis.io/gpg | sudo apt-key add -
$ echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
$ sudo apt-get update
$ sudo apt-get install redis
Из официального Ubuntu PPA
$ sudo add-apt-repository ppa:redislabs/redis
$ sudo apt-get update
$ sudo apt-get install redis
Создадим файл со следующими командами в формате Redis protocol:
SET Key0 Value0
SET Key1 Value1
...
SET KeyN ValueN
Теперь хотим максимально быстро скормить его редису. Раньше это было принято делать через netcat:
(cat data.txt; sleep 10) | nc localhost 6379 > /dev/null
Продолжение в документации...
>>> from subprocess import check_output
>>> out = check_output(["ping", "-c3", "8.8.8.8"])
>>> out
b'PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.\n64 bytes from 8.8.8.8: icmp_seq=1 ttl=108 time=152 ms\n64 bytes from 8.8.8.8: icmp_seq=2 ttl=108 time=151 ms\n64 bytes from 8.8.8.8: icmp_seq=3 ttl=108 time=46.9 ms\n\n--- 8.8.8.8 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2004ms\nrtt min/avg/max/mdev = 46.872/116.565/152.004/49.283 ms\n'
>>>
Способ работает только если вызванная программа завершилась без ошибок. Если хотим предусмотреть ошибки:
import subprocess as sp
# ok
pipe = sp.Popen( 'ls /bin', shell=True, stdout=sp.PIPE, stderr=sp.PIPE )
res = pipe.communicate()
print("retcode =", pipe.returncode)
print("res =", res)
print("stderr =", res[1])
for line in res[0].decode(encoding='utf-8').split('\n'):
print(line)
# with error
pipe = sp.Popen( 'ls /bing', shell=True, stdout=sp.PIPE, stderr=sp.PIPE )
res = pipe.communicate()
print("retcode =", pipe.returncode)
print("res =", res)
print("stderr =", res[1])
proc = subprocess.Popen(["notepad.exe",],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
try:
outs, errs = proc.communicate(timeout=15)
except TimeoutExpired:
proc.kill()
outs, errs = proc.communicate()
https://pypi.org/project/paramiko/
import paramiko
host = '192.168.0.8'
user = 'login'
secret = 'password'
port = 22
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, username=user, password=secret, port=port)
stdin, stdout, stderr = client.exec_command('ls -l')
data = stdout.read() + stderr.read()
client.close()
host = "example.com"
port = 22
transport = paramiko.Transport((host, port))
transport.connect(username='login', password='password')
sftp = paramiko.SFTPClient.from_transport(transport)
remotepath = '/path/to/remote/file.py'
localpath = '/path/to/local/file.py'
sftp.get(remotepath, localpath)
sftp.put(localpath, remotepath)
sftp.close()
transport.close()
Подробности со всеми параметрами подключения, использованием ключей и т.п. в help(connect)
cat test.txt | text2wave -eval '(voice_msu_ru_nsh_clunits)' -o output.wav
import os
print os.getcwd()
...
os.chdir(r"C:\Users\...\test")
...
df['index1'] = df.index
import numpy as np
import pandas as pd
# Создание 2-мерного массива numpy
>>> data = np.array([[5.8, 2.8], [6.0, 2.2]])
>>> print(data)
>>> data
array([[5.8, 2.8],
[6. , 2.2]])
# Создание pandas dataframe из массива numpy
>>> dataset = pd.DataFrame({'Column1': data[:, 0], 'Column2': data[:, 1]})
>>> print(dataset)
Column1 Column2
0 5.8 2.8
1 6.0 2.2
chunksize = 10 ** 6
with pd.read_csv(filename, chunksize=chunksize) as reader:
for chunk in reader:
process(chunk)
Помогает бороться с MemoryError