Подпроцесс в Python Добавить переменные - PullRequest
1 голос
/ 13 октября 2010

Подпроцесс в Python Добавить переменные

import subprocess
subprocess.call('Schtasks /create /sc  ONCE  /tn  Work  /tr C:\work.exe /st 15:42 /sd 13/10/2010')

Я хочу установить переменные в приведенной выше команде. переменные - это время «15: 42», разделенное на 15 и 42, и дата «13/10 / 2010», разделенные на день, месяц и год.

Спасибо заранее

George

Ответы [ 4 ]

1 голос
/ 13 октября 2010

Используйте % форматирование для построения командной строки.

>>> hour,minute = '15','42'
>>> day,month,year = '13','10','2010'
>>> command = 'Schtasks /create /sc  ONCE  /tn  Work  /tr C:\work.exe /st %s:%s /sd %s/%s/%s'
>>> command % (hour,minute, day,month,year)
'Schtasks /create /sc  ONCE  /tn  Work  /tr C:\\work.exe /st 15:42 /sd 13/10/2010'
>>> subprocess.call( command % (hour,minute, day,month,year) )
>>> 
0 голосов
/ 13 октября 2010
import time

subprocess.call(time.strftime("Schtasks /create /sc  ONCE  /tn  Work  /tr C:\work.exe /st %H:%M /sd %d/%m/%Y"))

Если вы хотите изменить время, вы можете установить его в объект времени и использовать его.

0 голосов
/ 13 октября 2010

Python имеет расширенные возможности форматирования строк, используя метод format для строк. Например:

>>> template = "Hello, {name}. How are you today, {date}?"
>>> name = "World"
>>> date = "the fourteenth of October"
>>> template.format(name=name, date=date)
'Hello, World. How are you today, the fourteenth of October?'

Вы можете получить время и дату, используя strftime в модуле datetime:

>>> import datetime
>>> now = datetime.datetime.now()
>>> now.strftime("%A %B %Y, %I:%M:%S")
'Wednesday October 2010, 02:54:30'
0 голосов
/ 13 октября 2010

import subprocess 
time = "15:42"
date = "13/10/2010"
# you can use these variables anyhow take input from user using raw_iput()
subprocess.call('Schtasks /create /sc ONCE /tn Work /tr C:\work.exe /st '+time+' /sd '+date)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...