2009-10-07 168 views
1

如何在OSX豹中使用python语言在/ var/log目录中创建新文件?我试着用os.open功能做到这一点,但我得到提前如何使用python创建新文件

+0

不是一个真正的编程问题。权限问题是superuser.com的一部分。 – 2009-10-07 10:21:59

+0

其标记为python,意思是“os.open”是一个python函数。 – nur 2013-05-29 20:01:49

回答

1

它可能失败,因为在/ var /日志已用户设置为root和组设置为轮拒绝“权限”

感谢。尝试以root身份运行您的python代码,它可能会工作。

+0

谢谢你。我的应用程序是一个推出应用程序。它在启动过程中运行,并随时保存文件中的一些数据。没有root权限的情况下,无法查看应用程序保存的数据。我怎么能做到这一点? – nur 2009-10-07 05:17:42

6

只有root用户可以在/var/log/写在Mac OS X ...:

$ ls -ld /var/log 
drwxr-xr-x 60 root wheel 2040 Oct 6 17:00 /var/log 

也许可以考虑使用syslog模块中的标准库...

+0

谢谢。我如何使用python语言访问syslog? – nur 2009-10-07 05:21:47

+0

@nur,'import syslog'当然 - 查看所有细节的http://docs.python.org/library/syslog.html! – 2009-10-07 05:25:55

+0

@alex非常感谢你。实际上我想实现的是,我正在为使用python的osx编写一个启动应用程序。它不时地在sqlite数据库中写入一些元信息。没有root权限的用户无法看到这些数据。所以我需要保持这个数据库文件,只有root权限的地方。我怎么能做到这一点? – nur 2009-10-07 05:34:39

1

您可以创建日志文件根然后将所有者更改为你的脚本运行作为

# touch /var/log/mylogfile 
# chown myuser /var/log/mylogfile 

其中mylogfile是你的日志文件,并为myuser是脚本将运行在用户的用户

也看看logrotate