我使用 python 是因为我尝试在 for 循环中以冷状态从 psql 运行一些查询。因此,在执行每个查询之前,我的缓存必须是清除的。我导入了 os,然后执行了以下操作:
if state=="cold"
os.system('sudo sh -c "/usr/bin/echo 1 > /proc/sys/vm/drop_caches')
你知道我如何使用 python 清除缓存吗?
我使用的是ubuntu 20.04。
答案1
为什么选择 Python 而不是 shell?在 python 中运行 shell 命令并没有什么意义,如果你真的想使用 Python,你可以这样做
with open("/proc/sys/vm/drop_caches", "w") as f:
f.write("1")
并运行 python 脚本,而sudo
不是尝试在脚本内使用它。
答案2
尝试
os.system('echo 1 | sudo tee /proc/sys/vm/drop_caches')