Это своего рода обман, я знаю, но переход из '/etc/localtime'
не работает для вас? Например:
>>> import os
>>> '/'.join(os.readlink('/etc/localtime').split('/')[-2:])
'Australia/Sydney'
Надеюсь, что это поможет.
Редактировать: мне понравилась идея @ A.H., в случае, если '/etc/localtime'
не является символической ссылкой. Перевод этого в Python:
#!/usr/bin/env python
from hashlib import sha224
import os
def get_current_olsonname():
tzfile = open('/etc/localtime')
tzfile_digest = sha224(tzfile.read()).hexdigest()
tzfile.close()
for root, dirs, filenames in os.walk("/usr/share/zoneinfo/"):
for filename in filenames:
fullname = os.path.join(root, filename)
f = open(fullname)
digest = sha224(f.read()).hexdigest()
if digest == tzfile_digest:
return '/'.join((fullname.split('/'))[-2:])
f.close()
return None
if __name__ == '__main__':
print get_current_olsonname()
Попробуйте это. Он перебирает все элементы div
и проверяет их text
, используя textContent
. Если он соответствует, он заменяет текст тегом изображения, используя innerHTML
var a = document.querySelectorAll('div');
a.forEach((e) => {
if (e.textContent == "abc")
e.innerHTML = "<img src='example123.com'>"
if(e.textContent == "def")
e.innerHTML = "<img src='anotherexample.com'>"
})
[ 111] Поскольку вы используете элемент с определенным id
, он уникален - все, что вам нужно сделать, это выбрать этот элемент и проверить, включает ли его innerHTML
строку, которую вы ищете. Вы можете использовать регулярное выражение для замены всех экземпляров abc
или def
на соответствующий тег:
const example = document.querySelector('#example');
const srcs = {
abc: 'example123',
def: 'anotherexample'
};
example.innerHTML = example.innerHTML.replace(
/abc|def/g,
prop => `<img src="${srcs[prop]}">`
);
<div id="example" style="align-content: right; text-align: right">before abc after</div>