Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
names = [
'image.bmp',
'second.txt.bkp',
'data.db',
'.config.cfg',
'file.ext.bkp'
]
И мы хотим убрать у них окончание ".bkp".
Не знаю зачем, пример довольно надуманный) Но суть он показывает, а это главное.
Те, кто еще не очень знаком с библиотекой os.path или pathlib, вероятно решат обработать имена как строки. И тут вполне подойдет метод строки strip().
Что делает этот метод? Он отрезает указанные символы по обеим сторонам строки. Если ничего не указать, то убирает невидимые символы (пробелы, табуляции и переносы строк).
В нашем случае будет выглядеть вот так:
>>> name.strip('.bkp')
То есть просим удалить строку '.bkp' по краям имени файла, если таковая есть.
Можно применить аналогичный метод rstrip(), чтобы отрезать только справа, но для этого примера используем обычный.
>>> for name in names:
>>> print(name.strip('.bkp'))
image.bm
second.txt
data.d
config.cfg
file.ext
Хм, что-то не то с нашими именами! Что случилось??? Видим нежелательное переименование в именах, где и близко не было указанной строки '.bkp'
А дело всё в том, что данный метод ищет не указанную строку, а указанные символы, и не важно в каком порядке.
Для метода strip() строка '.bkp' это не паттерн для поискаа список символов. Потому он отрезал симовол 'p' от '.bmp' и удалил точку из файла '.config.cfg'.
Как тогда правильно заменить именно паттерн? Для начинающего можно посоветовать метод строки replace(), который как раз использует для замены указанную строку целиком. В нашем примере заменим её на пустую строку.
>>> for name in names:
>>> print(name.replace('.bkp', ''))
image.bmp
second.txt
data.db
.config.cfg
file.ext
Уже лучше, но помните, это лишь пример про strip(). Для работы с именами файлов есть способы и более "правильные", дающие однозначно верный результат. Я взял файлы только в качестве примера. Даже replase() тут может сделать не то что ожидаем.
Просто впредь будьте внимательны с этим strip().
#basic
🚀🚀 Another massive profit made in Premium Group and this time it is#IP/USDT which crossed All the Profit Targets for an humongous gain of 420%
🗨Contact @futurechief to enter the Binance Futures/Bybit/Kucoin/OKX Premium Signal Group & Receive daily high quality signals by being in the Premium Group
Абз. 1 п. 1 ст. 1245 ГК:
Авторам, исполнителям, изготовителям фонограмм и аудиовизуальных произведений принадлежит право на вознаграждение за свободное воспроизведение фонограмм и аудиовизуальных произведений исключительно в личных целях. Такое вознаграждение имеет компенсационный характер и выплачивается правообладателям за счет средств, которые подлежат уплате изготовителями и импортерами оборудования и материальных носителей, используемых для такого воспроизведения.
В современном мире, будто бы, требуется пересмотр подхода к свободному использованию интеллектуальной собственности.
Так, в тг можно через команду @song найти множество песен. Отчисляет ли кому-то тг вознаграждение? Сомневаюсь.
UPD. Короче там другое. Ща разберёмся. Не ставьте дизлайки, мне и так тошно.
UPD 2. Я кажется понял. Воспроизведение в личных целях никак нельзя контролировать. Оно "не приводит к вовлечению оригинала или экземпляров в оборот, поэтому его нельзя признать авторско-правовым использованием произведения" (учебник ИЦЧП, С. 123). Об этом написано в ст. 1273 ГК. Статья же 1245я говорит про другое. "Вознаграждение поступает авторам и иным правообладателям не непосредственно от пользователей, а от изготовителей и импортёров оборудования и материальных носителей, которые могут использоваться для целей воспроизведения аудиовизуальных произведений и фонограмм в личных целях" (учебник ИЦЧП, С. 427).
#ip
Абз. 4 п. 2 ст. 1295 ГК:
Право на вознаграждение за служебное произведение неотчуждаемо и не переходит по наследству, однако права автора по договору, заключенному им с работодателем, и не полученные автором доходы переходят к наследникам.
IP+наследственное+трудовое. Гремучая смесь, не иначе. Ну и как и с моральным вредом неясно, почему такое требование не переходит по наследству, ведь оно денежное. Связь с личностью нужно искать не в основании возникновения обязательства, а в его содержании.
#ip
Сижу в общаге в тёплой пижаме и шерстяных носках. Чай пью, IP читаю. Пока готовлюсь к сессии на канале будут всякие сумбурные посты.
И начну с довольно странной позиции кодекса не признавать наименование некоммерческой организации в качестве интеллектуальной собственности. Показательно подсвечивает проблему спор между фондом "Подари жизнь" и его клоном. Давно слышал об этом деле (кажется, Александр Николаевич в лекции упоминал). Сейчас нашёл заметку на zakon.ru.
https://zakon.ru/discussion/2017/07/11/nekommercheskim_organizaciyam_dali_shans_na_zaschitu_naimenovaniya__grazhdanskaya_kollegiya_vs_rassm
В ПП ВС №10 от 23.04.2019 говорится следующее:
147. В силу пункта 4 статьи 54, пункта 1 статьи 1473 ГК РФ право на фирменное наименование возникает только у юридического лица, являющегося коммерческой организацией.
Наименования некоммерческих организаций (статья 4 Федерального закона "О некоммерческих организациях") не являются средством индивидуализации юридических лиц в смысле положений части четвертой ГК РФ, на них не распространяется правовая охрана, установленная параграфом 1 главы 76 ГК РФ.
Ввиду этого правила, предусмотренные статьей 1473 ГК РФ, в том числе запреты, содержащиеся в пункте 4 этой статьи, на некоммерческие организации не распространяются.
Вместе с тем право на наименование некоммерческой организации может быть защищено от действий третьих лиц, являющихся актом недобросовестной конкуренции или злоупотреблением правом, на основании положений статьи 10 ГК РФ, Федерального закона "О защите конкуренции", статьи 10.bis Парижской конвенции. Кроме того, наименованию некоммерческой организации может быть предоставлена правовая охрана как коммерческому обозначению в случаях, предусмотренных параграфом 4 главы 76 ГК РФ.
Не относятся к фирменным наименованиям в смысле положений ГК РФ наименования не являющихся юридическими лицами объединений юридических лиц.
То есть ВС буквально говорит, что защита наименованию НКО предоставляется, но защита иная (только в случаях недобросовестной конкуренции или злоупотреблением правом, а также когда НКО осуществляет коммерческую деятельность охраняется коммерческое обозначение (ст. 1538 ГК и далее)).
#ip
Python 3 has a std lib module for working with #IP addresses:
»> import ipaddress
»> ipaddress.ip_address('192.168.1.2')
IPv4Address('192.168.1.2')
»> ipaddress.ip_address('2001:af3::')
IPv6Address('2001:af3::')
Learn more here:
https://docs.python.org/3/library/ipaddress.html
🇺🇸Universal Settles with AI Music Platform Udio
Universal Music Group settled its copyright lawsuit against AI music generator Udio and announced a new joint venture to launch a licensed AI music platform in 2026.
The deal includes a financial settlement and licensing for UMG's catalog, with the future platform allowing users to remix songs and create in artists' styles. Artists who opt in to the coming platform will be compensated for both model training and when their songs are remixed.
#AI#IP