Python - 将文件移动到 Ubuntu 中的根目录

标签 python ubuntu root sudo shutil

我必须使用 Python 脚本将所有文件从特定目录移动到 root 目录。我因以下代码而失败,并出现 [Errno 13] Permission returned 错误。

import shutil
import os

source = '../json' 
dest = '/var/www/json'
files = os.listdir(source)

for f in files:
    shutil.move(source+"/"+f, dest)

是否可以使用此代码添加 sudo 或者是否有其他方法将文件移动到根文件夹? 我正在Ubuntu16.04中工作

最佳答案

我可以想到三种可能的解决方案:

  1. 以 sudo 身份运行 python:sudo python script.py。可能不是最好的方式,因为可能存在安全问题。
  2. 更改文件夹的权限,以便运行 python 脚本的用户有权复制/编辑这些文件夹中的文件。
  3. 以 root 身份从 python 调用 cp/mv 作为子进程。与第一个选项基本相同。可以通过让用户输入 root 的密码来完成,我想这对你来说不太好。或者您可以使用 polkit 之类的东西来避免使用密码。

从长远来看,我建议第二个选项是最好、最简单的。

关于Python - 将文件移动到 Ubuntu 中的根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53645564/

相关文章:

python - 给定大小为 n 的矩阵,计算距中心的距离矩阵

python - 如何将列转换为以毫秒为单位的时间?

macos - 带有\n 的 Sed 命令

java - Android Studio 中的 Gradle 构建失败

android - 快速启动恢复 : Partition recovery not support flash

python - 如何检查对象是否存在(Selenium/Python)并执行 if-else

python - 使用默认回退选项过滤列表值

c指针引用和算术

c# - 为最简单的 xml 文件编写最简单的 XML 反序列化类。如何避免嵌套?在根目录反序列化?

java - 另一种输出方式?