Я использую следующий скрипт python для копирования файлов между машинами Windows.Как использовать регулярное выражение внутри функции?
from subprocess import call
def copy_logs():
file= '.\pscp.exe -pw test123 C:\Users\Administrator\Desktop\interact.* [email protected]:/'
call(file)
copy_logs()
Если я бегу выше сценарий, я получаю следующее сообщение об ошибке:
PS C:\Users\Administrator\Desktop> python .\execute_pscp.py
C:\Users\Administrator\Desktop\interact.*: No such file or directory
PS C:\Users\Administrator\Desktop>
Но если я указать имя файла точно так, как «файл =» \ pscp.exe -pw test123 C:. \ Users \ Administrator \ Desktop \ interactive_python.py [email protected]:/'", работающая отлично, как показано ниже.
PS C:\Users\Administrator\Desktop> python .\execute_pscp.py
interact_python.py | 0 kB | 0.2 kB/s | ETA: 00:00:00 | 100%
PS C:\Users\Administrator\Desktop>
Но я хочу использовать некоторое регулярное выражение внутри команды «взаимодействовать. *». Чтобы я мог копировать некоторые файлы/файлы.
А также я хочу выполнить этот скрипт каждые три часа. его там каким-то образом в питоне, чтобы достичь этого?
Вы просто передаете аргументы 'pscp.exe'. 'pscp.exe' должен поддерживать такой ввод. – zvone
'call (file, shell = True)'. Вы пытаетесь использовать функциональность оболочки (оболочка отвечает за расширение звездочки, а не за запуск приложения), когда оболочка вообще не запускается. –
В оболочке Windows НЕ разворачивается звездочка. –