【问题标题】:Python - Move files to root directory in UbuntuPython - 将文件移动到 Ubuntu 的根目录
【发布时间】:2019-05-07 19:19:44
【问题描述】:

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

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 工作

【问题讨论】:

  • 您是否尝试使用 sudo 执行您的脚本?根文件夹对其他用户有写权限吗?
  • 是的,我认为在终端中写sudo python scirpt_name.py 会起作用。
  • 谢谢。有用。但是还有其他选择吗?

标签: python ubuntu root sudo shutil


【解决方案1】:

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

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

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

【讨论】:

  • 完美运行。第二个选项最适合我
【解决方案2】:

您可以将您的用户添加到文件夹权限并授予用户对该文件夹的写入权限。 使用 chown 或 chmod 调整目标文件夹的权限

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 2013-04-14
    相关资源
    最近更新 更多