Size: a a a

Сообщество Python Программистов

2020 June 19

DY

Dmitriy Yarosh in Сообщество Python Программистов
Я думал это в боте должно быть
источник

A

Alex in Сообщество Python Программистов
источник

A

Alex in Сообщество Python Программистов
Там по ссылке ниже есть пример прям на питоне, тебе надо только работу со строками заменить на свою счислами
источник

A

Alex in Сообщество Python Программистов
какой еще разрыв строки? Перенос на следующую строку что ли? )
источник

AY

Andrey Yakovtsev in Сообщество Python Программистов
Alex
какой еще разрыв строки? Перенос на следующую строку что ли? )
Да
источник

l

lDrakonl in Сообщество Python Программистов
Ребят, научите нубасика, только учусь разбираться с питоном
У меня есть простенький скрипт, который берет список файлов(пут до файлов) и закладывает его в БД. Скрипт вертится на Linux и я список файлов получаю через pathlib. Имя файла как str(path). При этом файлы на примонтированном диске.

Но в БД мне надо пути в стиле для Windows, и еще и не с примонтированного диска, а с полным сетевым путем. Я пока сделал replace в лоб при сохранении, но как то не красиво. Можете чтонибудь посоветовать ?)
источник

VA

Vadim Apenko in Сообщество Python Программистов
lDrakonl
Ребят, научите нубасика, только учусь разбираться с питоном
У меня есть простенький скрипт, который берет список файлов(пут до файлов) и закладывает его в БД. Скрипт вертится на Linux и я список файлов получаю через pathlib. Имя файла как str(path). При этом файлы на примонтированном диске.

Но в БД мне надо пути в стиле для Windows, и еще и не с примонтированного диска, а с полным сетевым путем. Я пока сделал replace в лоб при сохранении, но как то не красиво. Можете чтонибудь посоветовать ?)
Приведи примеры
источник

l

lDrakonl in Сообщество Python Программистов
У меня есть сетевая шара: \\192.192.1.1\files
В ней куча файлов *.mp3
Она примонтирована и выглядит так: /mnt/files/*mp3

Теперь у меня есть файл по адресу /mnt/files/file1.mp3
Когда я делаю str(pathlib.path) я получаю строку '/mnt/files/file1.mp3', а хочу вместо нее получить '\\192.192.1.1\files\file1.mp3'

Я просто сделал так:
file = Path('/mnt/files/file1.mp3')
sfile = str(file.as_posix).replace('/', '\\').replace('/mnt', '\\192.192.1.1')

Кажется, что это как то не pythonic way
источник

l

lDrakonl in Сообщество Python Программистов
хотя мб и пофигу)
источник

VA

Vadim Apenko in Сообщество Python Программистов
lDrakonl
У меня есть сетевая шара: \\192.192.1.1\files
В ней куча файлов *.mp3
Она примонтирована и выглядит так: /mnt/files/*mp3

Теперь у меня есть файл по адресу /mnt/files/file1.mp3
Когда я делаю str(pathlib.path) я получаю строку '/mnt/files/file1.mp3', а хочу вместо нее получить '\\192.192.1.1\files\file1.mp3'

Я просто сделал так:
file = Path('/mnt/files/file1.mp3')
sfile = str(file.as_posix).replace('/', '\\').replace('/mnt', '\\192.192.1.1')

Кажется, что это как то не pythonic way
А как на стороне клиента будешь использовать потом?
источник

l

lDrakonl in Сообщество Python Программистов
Vadim Apenko
А как на стороне клиента будешь использовать потом?
Клиент берет путь и скачивает файл по этому пути на ПК клиента. Все под windows
источник

VA

Vadim Apenko in Сообщество Python Программистов
lDrakonl
Клиент берет путь и скачивает файл по этому пути на ПК клиента. Все под windows
Сервер и путь я бы разделил.
Клиент может сам собрать строку. pathlib под виндой вполне себе переваривает пути в линуксе.
>>> from pathlib import Path, PurePosixPath
>>> Path('relative\path\on\windows')
WindowsPath('relative\path\on\windows')
>>> PurePosixPath(_)
PurePosixPath('relative/path/on/windows')
>>> str(_)
'relative/path/on/windows'

Твоя задача хранить отдельно сервер и отдельно относительный путь на нём.
источник

l

lDrakonl in Сообщество Python Программистов
Vadim Apenko
Сервер и путь я бы разделил.
Клиент может сам собрать строку. pathlib под виндой вполне себе переваривает пути в линуксе.
>>> from pathlib import Path, PurePosixPath
>>> Path('relative\path\on\windows')
WindowsPath('relative\path\on\windows')
>>> PurePosixPath(_)
PurePosixPath('relative/path/on/windows')
>>> str(_)
'relative/path/on/windows'

Твоя задача хранить отдельно сервер и отдельно относительный путь на нём.
Я все сильно упростил, когда описывал задачу.
К сожалению, структура БД прибита гвоздями и там только одно поле под путь. Есть несколько клиентов, одни на .dotnet, один web и один мобильный. И ни один из них  не на питоне )
источник

l

lDrakonl in Сообщество Python Программистов
Я думал о том, что мб я могу как то проще превращять Posix путь в Windows путь
источник

VA

Vadim Apenko in Сообщество Python Программистов
источник

l

lDrakonl in Сообщество Python Программистов
я ее видел, но красивого пути по быстрому не нашел. Оборазить любой путь как Posix можно, а как Windows нет((
источник

VA

Vadim Apenko in Сообщество Python Программистов
lDrakonl
я ее видел, но красивого пути по быстрому не нашел. Оборазить любой путь как Posix можно, а как Windows нет((
короче я тут чекнул, не надо тебе предподготавливать путь
источник

VA

Vadim Apenko in Сообщество Python Программистов
Патлиб на винде сама разберётся
источник

VA

Vadim Apenko in Сообщество Python Программистов
источник

l

lDrakonl in Сообщество Python Программистов
Vadim Apenko
короче я тут чекнул, не надо тебе предподготавливать путь
В том и проблема, что потом с путями будет разбираться не pathlib, а не известно что(
3 разных клиента
источник