2011-10-11 24 views
1

我在unix上,但找不到fcntl模塊的位置。我在我的web開發中使用Jython,並且我正在修改的現有程序需要該模塊。你能給我一種方法來導入它或我的代碼,以便能夠使用此模塊?提前致謝!python的fcntl模塊的位置在哪裏?

回答

2

fcntl是一個內置模塊。它不是用Python編寫的,而是用C語言編寫的。不幸的是,它並沒有被移植到Java中,根據this bug report,它不太可能會這樣。

回答您的問題:它位於CPython源文件here中。

問題是fcntl是Unix特有的;你的程序從一開始就不可移植。 Java是相當嚴格的平臺無關的,並且(正如Jython開發人員在bug報告中暗示的那樣),一些低級別的東西是不可能的。你可以搜索你需要的特定函數 - 你可能會有更好的機會來完成這個工作,但是我建議尋找解決問題的辦法,而不是試圖讓fcntl在Java中工作。

我希望你能找到另一種解決方案。

+0

謝謝彼得!有沒有替代方案?該程序需要名爲lockf的fcntl模塊的功能。有沒有我可以用來實現相同效果的圖書館? – Adan

+0

不幸的是,我不是Java/Jython的專家。沒有這個功能,這個程序有沒有可能走? –

+0

你知道fcntl.lockf()函數的作用嗎?你能給我一個概述,它是用來幹什麼的? – Adan