python (питон)

  • Автор темы Автор темы dyvniy
  • Дата начала Дата начала
>>> import uuid

>>> # make a random UUID
>>> uuid.uuid4()
UUID('bd65600d-8669-4903-8a14-af88203add38')

>>> # Convert a UUID to a string of hex digits in standard form
>>> str(uuid.uuid4())
'f50ec0b7-f960-400d-91f0-c42a6d44e3d0'

>>> # Convert a UUID to a 32-character hexadecimal string
>>> uuid.uuid4().hex
'9fe2c4e93f654fdbb24c02b15259716c'

In [7]: u.bytes
Out[7]: b'}\xd5\x0b\xc7BjAz\x98\xfb=\xc2Q\xd9\xe3t'

In [8]: len(u.bytes)
Out[8]: 16

In [9]: len(u.hex)
Out[9]: 32
 
Если вам необходимо создать интерактивный граф в нескольких строках кода на языке Python, используйте Pyvis.

pip install pyvis

from pyvis.network import Network

g = Network()
g.add_node(0)
g.add_node(1)
g.add_edge(0, 1)
g.show("basic.html")

https://github.com/WestHealth/pyvis
 
https://stackoverflow.com/questions/19078969/pyth ... folder-in-a-cross-platform-way
PHP:
<span class="syntaxdefault">import sys<br />import pathlib<br /><br />def get_datadir</span><span class="syntaxkeyword">()</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">-></span><span class="syntaxdefault"> pathlib</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">Path</span><span class="syntaxkeyword">:<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxstring">"""<br />    Returns a parent directory path<br />    where persistent application data can be stored.<br /><br />    # linux: ~/.local/share<br />    # macOS: ~/Library/Application Support<br />    # windows: C:/Users/<USER>/AppData/Roaming<br />    """<br /><br /></span><span class="syntaxdefault">    home </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> pathlib</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">Path</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">home</span><span class="syntaxkeyword">()<br /><br /></span><span class="syntaxdefault">    if sys</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">platform </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"win32"</span><span class="syntaxkeyword">:<br /></span><span class="syntaxdefault">        return home </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> </span><span class="syntaxstring">"AppData/Roaming"<br /></span><span class="syntaxdefault">    elif sys</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">platform </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"linux"</span><span class="syntaxkeyword">:<br /></span><span class="syntaxdefault">        return home </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> </span><span class="syntaxstring">".local/share"<br /></span><span class="syntaxdefault">    elif sys</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">platform </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"darwin"</span><span class="syntaxkeyword">:<br /></span><span class="syntaxdefault">        return home </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Library/Application Support"<br /><br /></span><span class="syntaxcomment"># create your program's directory<br /><br /></span><span class="syntaxdefault">my_datadir </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> get_datadir</span><span class="syntaxkeyword">()</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/</span><span class="syntaxdefault"> </span><span class="syntaxstring">"program-name"<br /><br /></span><span class="syntaxkeyword">try:<br /></span><span class="syntaxdefault">    my_datadir</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">mkdir</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">parents</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">True</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">except FileExistsError</span><span class="syntaxkeyword">:<br /></span><span class="syntaxdefault">    pass</span>
 
Загрузка видео с YouTube с помощью Python.

python -m pip install pytube

https://github.com/pytube/pytube

Код:
from pytube import YouTube
YouTube('https://www.youtube.com/watch?v=513NmkH_0Q8').streams.filter(progressive=True, file_extension='mp4')[0].download()
0 - 360p
1 - 720p
 
Оффлайн перевод
https://github.com/argosopentech/argos-translate
https://skeptric.com/python-offline-translation/
На русский тоже нормально переводит
Код:
import argostranslate.package
import argostranslate.translate

from_code = "en"
to_code = "ru"

# Download and install Argos Translate package
argostranslate.package.update_package_index()
available_packages = argostranslate.package.get_available_packages()
package_to_install = next(
    filter(
        lambda x: x.from_code == from_code and x.to_code == to_code, available_packages
    )
)
argostranslate.package.install_from_path(package_to_install.download())

# Translate
translatedText = argostranslate.translate.translate("Hello World", from_code, to_code)
print(translatedText)
# '¡Hola Mundo!'
 
Оффлайн перевод
https://github.com/argosopentech/argos-translate
https://skeptric.com/python-offline-translation/
На русский тоже нормально переводит
PHP:
<span class="syntaxdefault">import argostranslate</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">package<br />import argostranslate</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">translate<br /><br />from_code </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"en"<br /></span><span class="syntaxdefault">to_code </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"ru"<br /><br /></span><span class="syntaxcomment"># Download and install Argos Translate package<br /></span><span class="syntaxdefault">argostranslate</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">package</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">update_package_index</span><span class="syntaxkeyword">()<br /></span><span class="syntaxdefault">available_packages </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">argostranslate</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">package</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">get_available_packages</span><span class="syntaxkeyword">()<br /></span><span class="syntaxdefault">package_to_install </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">next</span><span class="syntaxkeyword">(<br />    </span><span class="syntaxdefault">filter</span><span class="syntaxkeyword">(<br />        </span><span class="syntaxdefault">lambda x</span><span class="syntaxkeyword">: </span><span class="syntaxdefault">x</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">from_code </span><span class="syntaxkeyword">== </span><span class="syntaxdefault">from_code </span><span class="syntaxkeyword">and </span><span class="syntaxdefault">x</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">to_code </span><span class="syntaxkeyword">== </span><span class="syntaxdefault">to_code</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">available_packages<br />    </span><span class="syntaxkeyword">)<br />)<br /></span><span class="syntaxdefault">argostranslate</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">package</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">install_from_path</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">package_to_install</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">download</span><span class="syntaxkeyword">())<br /><br /></span><span class="syntaxcomment"># Translate<br /></span><span class="syntaxdefault">translatedText </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">argostranslate</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">translate</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">translate</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Hello World"</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">from_code</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">to_code</span><span class="syntaxkeyword">)<br />print(</span><span class="syntaxdefault">translatedText</span><span class="syntaxkeyword">)<br /></span><span class="syntaxcomment"># '¡Hola Mundo!' </span><span class="syntaxdefault"></span>
 
Сгенерённый текст можно сразу озвучить
https://github.com/elevenlabs/elevenlabs-python
PHP:
<span class="syntaxdefault">from elevenlabs import generate</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">play<br /><br />audio </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">generate</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault">text</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Hello! Привет!"</span><span class="syntaxkeyword">,<br />   </span><span class="syntaxdefault">voice</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Bella"</span><span class="syntaxkeyword">,<br />   </span><span class="syntaxdefault">model</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"eleven_multilingual_v2"<br /></span><span class="syntaxkeyword">)<br /><br /></span><span class="syntaxdefault">play</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">audio</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"></span>
 
А можно распознать то, что сказал. Жаль на английском.
PHP:
<span class="syntaxdefault"><br />from pocketsphinx import LiveSpeech<br />for phrase in LiveSpeech</span><span class="syntaxkeyword">():</span><span class="syntaxdefault"> print</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">phrase</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"></span>
Для русского надо марковские модели ставить.
Например отсюда
https://sourceforge.net/projects/cmusphinx/files/ ... _ru_cont_8k_v3.tar.gz/download

Для русского. Распознаёт кривовато, надо словарь настраивать, что ли.
PHP:
<span class="syntaxdefault"></span><span class="syntaxcomment"># voice recognition<br /></span><span class="syntaxdefault">import os<br />from pocketsphinx import LiveSpeech</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">get_model_path<br /><br />model_path </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">r</span><span class="syntaxstring">'E:\doc\txt\zero_ru_cont_8k_v3' </span><span class="syntaxcomment">#get_model_path()<br /><br /></span><span class="syntaxdefault">speech </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">LiveSpeech</span><span class="syntaxkeyword">(<br />    </span><span class="syntaxdefault">verbose</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">False</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxdefault">sampling_rate</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">16000</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxdefault">buffer_size</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">2048</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxdefault">no_search</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">False</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxdefault">full_utt</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">False</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxdefault">hmm</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">os</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">path</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">join</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">model_path</span><span class="syntaxkeyword">, </span><span class="syntaxstring">'zero_ru.cd_cont_4000'</span><span class="syntaxkeyword">),<br />    </span><span class="syntaxdefault">lm</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">os</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">path</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">join</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">model_path</span><span class="syntaxkeyword">, </span><span class="syntaxstring">'ru.lm'</span><span class="syntaxkeyword">),<br />    </span><span class="syntaxdefault">dic</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">os</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">path</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">join</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">model_path</span><span class="syntaxkeyword">, </span><span class="syntaxstring">'ru.dic'</span><span class="syntaxkeyword">)<br />)<br /><br />print(</span><span class="syntaxstring">"Say something!"</span><span class="syntaxkeyword">)<br /><br />for </span><span class="syntaxdefault">phrase in speech</span><span class="syntaxkeyword">:<br />    print(</span><span class="syntaxdefault">phrase</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"></span>
 
Для русского.
Но распознаёт кривовато.
PHP:
<span class="syntaxdefault"></span><span class="syntaxcomment"># voice recognition<br /></span><span class="syntaxdefault">import os<br />from pocketsphinx import LiveSpeech</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">get_model_path<br /><br />model_path </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">r</span><span class="syntaxstring">'E:\doc\txt\zero_ru_cont_8k_v3' </span><span class="syntaxcomment">#get_model_path()<br /><br /></span><span class="syntaxdefault">speech </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">LiveSpeech</span><span class="syntaxkeyword">(<br />    </span><span class="syntaxdefault">verbose</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">False</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxdefault">sampling_rate</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">16000</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxdefault">buffer_size</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">2048</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxdefault">no_search</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">False</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxdefault">full_utt</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">False</span><span class="syntaxkeyword">,<br />    </span><span class="syntaxdefault">hmm</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">os</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">path</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">join</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">model_path</span><span class="syntaxkeyword">, </span><span class="syntaxstring">'zero_ru.cd_ptm_4000'</span><span class="syntaxkeyword">),<br />    </span><span class="syntaxdefault">lm</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">os</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">path</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">join</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">model_path</span><span class="syntaxkeyword">, </span><span class="syntaxstring">'ru.lm'</span><span class="syntaxkeyword">),<br />    </span><span class="syntaxdefault">dic</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">os</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">path</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">join</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">model_path</span><span class="syntaxkeyword">, </span><span class="syntaxstring">'ru.dic'</span><span class="syntaxkeyword">)<br />)<br /><br />print(</span><span class="syntaxstring">"Say something!"</span><span class="syntaxkeyword">)<br /><br />for </span><span class="syntaxdefault">phrase in speech</span><span class="syntaxkeyword">:<br />    print(</span><span class="syntaxdefault">phrase</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"></span>
 
# voice recognition
...: import os
...: from pocketsphinx import LiveSpeech, get_model_path
...:
...: model_path = r'E:\doc\txt\zero_ru_cont_8k_v3' #get_model_path()
...:
...: speech = LiveSpeech(
...: verbose=False,
...: sampling_rate=16000,
...: buffer_size=2048,
...: no_search=False,
...: full_utt=False,
...: hmm=os.path.join(model_path, 'zero_ru.cd_cont_4000'),
...: lm=os.path.join(model_path, 'ru.lm'),
...: dic=os.path.join(model_path, 'ru.dic')
...: )
...:
...: print("Say something!")
...:
...: for phrase in speech:
...: print(phrase)
 
Код:
python3 -m venv .venv
source .venv/bin/activate # do this every time to use the venv created above
pip3 install ipython
 
Рex — это утилита для создания одного исполняемого файла .pex, внутри которого содержится вся ваша программа на Python и её зависимости. По сути это самодостаточная, переносимая среда выполнения, похожая на virtualenv, но упакованная в один файл.

Зачем это нужно?

Простота развёртывания: чтобы установить и запустить приложение, достаточно скопировать файл app.pex и запустить его — никакой дополнительной настройки.

Портируемость: один файл может включать сборки для разных платформ (Linux, macOS).

Изоляция зависимостей: все библиотеки (включая C‑расширения) уже внутри, конфликтов версий нет.

Как пользоваться:

Устанавливаем сам инструмент:

`
Код:
pip install pex
`
Собираем .pex-файл:

`
Код:
pex requests -o fetch.pex —script=requests
`
После этого fetch.pex — готовый исполняемый файл, который при запуске сразу импортирует и запускает библиотеку requests.

Интеграция с другими сборщиками:
Системы вроде `Pants, Buck и {py}gradle `умеют автоматически собирать .pex-архивы из вашего кода.

Лицензия: Apache 2.0

▪ GitHub: github.com/pex-tool/pex
▪Документация: docs.pex-tool.org/
 
Назад
Сверху