Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
重审社会学理论大炮:马克斯·韦伯
Max Weber Was a Class-Conscious Champion of the Bourgeoisie
这篇文章可以看看,提到了马克斯·韦伯社会理论的局限和矛盾,他的价值中立「立场」以及某些视角的批评。
马克斯·韦伯作为社会学经典三大家之一,他许多理论贡献奠定了西方社会学基础,理解社会学/宗教社会学/以及社会政治经济领域的成就,国内像北大南大社会学就比较喜欢整这些经典大家的理论。
韦伯作为反马克思主义的代表,主要被美国社会学家帕森斯带火。韦伯以「价值中立」为理论塑形,然而文章揭示了韦伯的理论受到阶级立场和政治倾向的影响,为资产阶级辩护,试图将资本主义过度浪漫化、制度精神化(spiritualize)、伦理标准化,而忽视了资本主义本质,且对社会变革持悲观态度,韦伯对无产阶级(proletariat)没有信心。
韦伯对资本主义的看法放在现在来思考是很有意思的,他的著作《新教伦理与资本主义精神》也可以看看。
最后再推荐个哲学家 Eudald Espluga,他的新理论「glittered cage」就源于韦伯的「理性牢笼」和我们常提到的哲学家 Mark Fisher 风格影响,这里可以串一串。[1]
Reference
[1]Why pop philosopher Mark Fisher fascinates young leftists
#philosophy#sociology
Ethnosociology lecture 1. Introduction
The first section describes the major sources and schools related to ethnosociology (sociology, anthropology, ethnology, cultural, social and structural anthropology, etc.), both foreign and Russian. The basic terminological apparatus is outlined.
#Ethnosociology#sociology#anthropology#AlexanderDugin
看到贵校的包容,我感到很欣慰,恰逢5.17不再恐同日。
招生政策 清华附中国际学校欢迎所有认同学校愿景与使命、理念与文化、培养目标与课程体系的家庭及申请人,不会对性别、种族、民族、残疾、宗教、性取向、性别认同和国籍存在歧视。
Admissions Policies Tsinghua University High School International welcomes all families and applicants who agree with the school's vision and mission, philosophy and culture, and goals and curriculum. There is no discrimination against gender, race, disability, religion, sexual orientation, gender identity, or nationality.
5月17日是"国际不再恐惧同性恋、跨性别与双性恋日(International Day Against Homophobia, Transphobia and Biphobia)”。1990年的这一天,世界卫生组织决定,将同性恋从《疾病和有关保健问题的国际统计分类》名单中去除。
#Anthropology#Comment#Emotion#Psychology#Society#Sociology#Thought
🚀 AI Event to Showcase Diverse Applications in Pop Culture
An event titled 'Super Creator Live - Creating Pop Culture with Prompts' is set to take place this Saturday. According to BlockBeats, the event is co-hosted by Beating and West Sea Voice and will feature ten demo works selected from numerous submissions. Participants include developers with deep technical expertise, influential content creators, and professionals from finance, music, and podcast industries.
The diverse backgrounds of the creators promise to offer intriguing perspectives on AI's integration into unexpected fields such as gaming, interactive design, sociology, emotional support, and metaphysics. Following the demo presentations, several prominent guests will engage in a roundtable discussion, focusing on the essence of creation and exploring how to define expression in the era of AI.
With only two days left until the event, interested individuals are encouraged to register promptly. The event will take place on April 11 at 13:30 UTC+8, with the location details available upon registration.
#AI#PopCulture#Event#Creators#Gaming#InteractiveDesign#Sociology#EmotionalSupport#Metaphysics#AIIntegration#Roundtable#Finance#Music#Podcast#Beating#WestSeaVoice#Demo#AIInCreation#Tech#ContentCreators