Замена текста - строки & amp; пространства

Вот более простой метод, который не включает потоки.

Держите счетчик и каждый второй вызов функции.

Обновление: Чтобы ответить на ваш вопрос в комментариях.

Это не застрянет в функции. некоторый цикл, который мешает нам достичь mainloop(), потому что этот код добавляет только команду, которая должна быть запущена в списке событий с регулярным интервалом в 1 секунду. То, что на самом деле происходит, - это метод after(), который добавит новое даже для запуска не раньше, чем через 1 секунду (1000 миллисекунд). Поскольку Tkinter управляется событиями, Tkinter будет обрабатывать каждый, даже в списке, как он приходит после каждого цикла mainloop().

import tkinter as tk

root = tk.Tk()
counter = 0

def change_text():
    global counter
    my_list = [".", "..", "...", ""]
    if counter != 3:
        l.config(text="Loading{}".format(my_list[counter]))
        counter += 1
        root.after(1000, change_text)
    else:
        l.config(text="Loading{}".format(my_list[counter]))
        counter = 0
        root.after(1000, change_text)

l = tk.Label(root, text = "")
l.pack()

change_text()
root.mainloop()
1
задан Ansgar Wiechers 18 January 2019 в 19:09
поделиться

2 ответа

Я бы использовал регулярное выражение, которое использует утверждение нулевой длины
, чтобы сопоставить что-либо в строке после ключевого слова (даже буквальную звездочку)

сценарий изменяется на месте, используя то же имя файла при сохранении.

## Q:\Test\2019\01\18\SO_54259368.ps1

Push-Location "C:\Program Files\SplunkUniversalForwarder\etc\system\local"

$Clie = "inputs.conf"
$Serv = "server.conf"

(Get-Content $Clie) -replace "(?<=^host = ).*$",$Env:COMPUTERNAME | Set-Content $Clie
(Get-Content $Serv) -replace "(?<=^serverName = ).*$",$Env:COMPUTERNAME | Set-Content $Serv

Pop-Location
0
ответ дан LotPings 18 January 2019 в 19:09
поделиться

Оператор -replace совпадает на основе регулярного выражения. Таким образом, ваше выражение соответствия:

"host = *"

завершит свое сопоставление после того, как совпадет с его первым «host =», не включая имя хоста, и это то, что будет заменено, оставив все без изменений впоследствии. Чтобы включить имя хоста в выражение соответствия, используйте это регулярное выражение:

"host = .*"
0
ответ дан mklement0 18 January 2019 в 19:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: