在 linux 中使用 python 更改 date/time

change date/time using python in linux

我尝试使用 date 命令更改 debian 中的系统时间 linux:

os.system("echo passwd | "sudo date -s \"Thu Aug 9 21:31:26 UTC 2012\")

并且我将 python 文件权限设置为 777 并将 chown 设置为 root。但它不起作用并显示 date: cannot set date: Operation not permitted。有什么想法吗?

谢谢

Sudo 不是从标准输入中获取密码,而是从终端设备中获取密码。

将您的 date 添加到 sudoers 文件中,这样您就可以 运行 root 无需密码。男人sudoers.

bob     ALL = NOPASSWD: /bin/date

接下来,使用子流程代替 os.system。

sudodate = subprocess.Popen(["sudo", "date", "-s", "Thu Aug  9 21:31:26 UTC 2012"])
sudodate.communicate()

你写了一个小写的 -s 它应该是 -S 所以这就是它不起作用的原因。