使用python脚本将文件保存到磁盘的权限

时间:2012-04-03 16:38:31

标签: python xml file

我有这个测试代码,只是将XML文件保存到文件夹中。我想安排一个crontab作业让它每分钟都运行一次,但是当我使用sudo并输入密码时,我只能获得将XML保存到磁盘的权限。当我使用crontab计划它时,它会打印字符串但不保存文件。我怎么能让它工作?

#!/usr/bin/python

import sys
import time
from socket import *
from xml.dom.minidom import Document

def main(args):
       doc     = Document()
       with open("/Users/lucasp/Desktop/LogsXML" + time.strftime("%Y-%m-%d-%H.%M.%S", time.localtime()) + ".xml", "w") as f:
           f.write("doc")
       string = "File saved! : LogsXML/" + time.strftime("%Y-%m-%d-%H.%M.%S", time.localtime()) + ".xml"
       print string

if __name__ == '__main__':
        sys.exit (main (sys.argv))

1 个答案:

答案 0 :(得分:0)

在运行脚本之前修复权限:找出uid cron运行(可能是“crontab”)。使用chown(可能以root身份)将文件LogsXML的gid更改为该组,并授予对该文件的组写访问权限。如,

sudo chown lucasp:crontab ~lucasp/Desktop/LogsXML
chmod g+w ~lucasp/Desktop/LogsXML

(如果脚本需要创建新文件,则选择目录并使用chown g+wx <directory>授予写入和执行权限。)