我正在尝试使用框中的subprocess.call
到date --set=
来手动更改Linux机器上的日期/时间。我的问题是试图找到更清晰/更pythonic的格式化所有内容的方式进入call
。
我这样做的原因是因为date
命令需要--set=
后跟一个字符串,我无法找到在{{1}内以适当格式执行此操作的方法}。
我理所当然地知道我应该使用subprocess.call
但不幸的是,这是我现在的要求。非常感谢任何帮助。
ntpd
答案 0 :(得分:2)
使用字符串格式:
datetime = '--set={}-{}-{} {}:{}:{}'.format(year, month, day, hour, minute, second)
答案 1 :(得分:0)
使用可变数量的参数(由于您无法看到参数名称,因此更短但可读性更低):
def set_system_time(*a):
datetime = '--set=%d-%d-%d %02d:%02d:%02d' % a
使用固定数量的参数:
def set_system_time(year, month, day, hour, minute, second):
datetime = '--set=%(year)d-%(month)d-%(day)d %(hour)02d:%(minute)02d:%(second)02d' % locals()