2009-10-07 134 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