Я ищу пользовательскую терминальную функцию change_case
это будет функционировать как ниже, чтобы помочь мне управлять своими заголовками на моем веб-сайте:
change_case [option] "string"
option:
upper - STRING TO UPPERCASE
lower - string to lowercase
sentence - Uppercase first letter of every word, others to lowercase
custom - String to Sentence Case except These Words if they appear as the 1st letter:
[in,by,with,of,a,to,is,and,the]
верхний: КАК Я МОГУ ЗАСТАВИТЬ ЭКРАН ВХОДА В СИСТЕМУ ПОЯВИТЬСЯ INSTEAD OF, РЕГИСТРИРУЮЩИЙ ME В АВТОМАТИЧЕСКИ?
ниже: как я могу заставить экран входа в систему появиться вместо того, чтобы регистрировать меня в автоматически?
предложение: Как я могу Заставить Экран Входа в систему Появиться Вместо того, чтобы Регистрировать Меня В Автоматически?
пользовательский: Как я могу Заставить Экран Входа в систему Появиться Вместо того, чтобы Регистрировать Меня в Автоматически?
Это не слишком сложно:
change_case
(никакое расширение) в ~/bin
(Вам, вероятно, придется создать каталог). Сделайте исполняемый файл сценарияsource ~/.profile
)Откройте окно терминала, протестируйте его путем выполнения команды:
change_case custom this is a test case to see if all in the script works
вывод:
This is a Test Case to See If All in the Script Works
Я протестировал его со всеми опциями от Вашего вопроса (верхний, ниже, предложение, пользовательское), и все должны работать Вашим примером.
#!/usr/bin/env python3
import sys
string = sys.argv[2:]
opt = sys.argv[1]
excluded = ["in","by","with","of","a","to","is","and","the"]
if opt == "lower":
print((" ").join(string).lower())
elif opt == "upper":
print((" ").join(string).upper())
elif opt == "sentence":
print((" ").join(string).title())
elif opt == "custom":
line = []
for s in string:
s = s.title() if not s in excluded else s
line.append(s)
print((" ").join(line))