【发布时间】:2021-05-20 11:04:51
【问题描述】:
我正在尝试使用子进程从我的 python 脚本中执行以下命令:
date -s "25 DEC 2021 15:30:00"
这就是我执行命令的方式:
command_date = ("/usr/bin/date -s \"{0}\"".format(config_date))
print("command date : ",command_date)
proc = subprocess.Popen(command_date.split(), stdout = subprocess.PIPE, encoding = "utf8")
result_date = proc.stdout.read()
print("\nNew system date : ", result_date)
但我收到以下错误:
/usr/bin/date: extra operand '2021'
在终端直接进行一些测试后,如果我使用的命令不带日期字符串的引号,则会出现错误。但我的变量 command_date 构造良好(见打印:/usr/bin/date -s "25 DEC 2021 15:30:00")
你知道为什么我的引号被忽略以及如何解决吗?
【问题讨论】:
-
使用列表而不是格式化字符串来传递参数stackoverflow.com/questions/14928860/…
-
@lllrnr101 如果您认为这个问题在本网站的其他地方有答案 - flag it as duplicate 而不是发布链接作为评论...
-
尝试打印
command_date.split()并查看问题... -
@Tomerikoo 这就是我得到的:
['/usr/bin/date', '-s', '"25', 'DEC', '2021', '15:30:00"']。我明白为什么它现在不起作用了,谢谢
标签: python