下面是我想做的。此脚本使用普通用户权限执行,但它必须将文件复制到根用户拥有的位置。如何使用shutil.copy2()
执行复制?另一种方法是使用subprocess.run()
运行bash cp命令。但如果不走这条路,我想知道处理这种情况的python方法。或者subprocess.run()
函数是将文件复制到根用户位置的唯一方法吗
import shutil
from pathlib import Path
from subprocess import run
import sys
ext_schema_name = f'org.gnome.shell.extensions.arc-menu.gschema.xml'
ext_schema_path = Path( f'/usr/share/gnome-shell/extensions/arc-menu@linxgem33.com/schemas/org.gnome.shell.extensions.arc-menu.gschema.xml' )
glib_schemas = Path( '/usr/share/glib-2.0/schemas/' )
ext_glib_schema_path = glib_schemas / ext_schema_name
#This cmd should not work due to invalid permission.
#What is the pythonic way to do this?
shutil.copy2( ext_schema_path, ext_glib_schema_path )
#The subprocess alternative that should work
run( f'pkexec cp {ext_schema_path} {ext_glib_schema_path}', shell=True, stdout=sys.stdout )
目前没有回答
相关问题 更多 >
编程相关推荐