Python - 将文件移动到 Ubuntu 中的根目录
Python - Move files to root directory in Ubuntu
我必须使用 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
工作
您可以将您的用户添加到文件夹权限并授予用户对该文件夹的写入权限。
使用 chown 或 chmod 调整目标文件夹的权限
我可以想到三种可能的解决方案:
- 运行 python 作为 sudo:
sudo python script.py
。可能不是最好的方法,因为可能存在安全问题。
- 更改文件夹的权限,以便 运行 使用 python 脚本的用户可以访问这些文件夹中的 copy/edit 个文件。
- 作为根从 python 调用
cp
/mv
作为子进程。与第一个选项基本相同。可以通过让用户输入 root 的密码来完成,我想这对你来说不是很好。或者您可以使用 polkit
之类的东西来避免使用密码。
我建议第二个选项在长 运行 中是最好和最简单的。
我必须使用 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
您可以将您的用户添加到文件夹权限并授予用户对该文件夹的写入权限。 使用 chown 或 chmod 调整目标文件夹的权限
我可以想到三种可能的解决方案:
- 运行 python 作为 sudo:
sudo python script.py
。可能不是最好的方法,因为可能存在安全问题。 - 更改文件夹的权限,以便 运行 使用 python 脚本的用户可以访问这些文件夹中的 copy/edit 个文件。
- 作为根从 python 调用
cp
/mv
作为子进程。与第一个选项基本相同。可以通过让用户输入 root 的密码来完成,我想这对你来说不是很好。或者您可以使用polkit
之类的东西来避免使用密码。
我建议第二个选项在长 运行 中是最好和最简单的。