2012-04-26 45 views

回答

2

我的猜測也是它是一個權限問題。對我來說,(OS X 10.7.3),這個工程:

$ ls 
slask.py system.py system1.gif system2.gif 

$ python 
>>> from os import * 
>>> link('system2.gif', 'mylink.gif') 
>>> exit() 

$ ls 
mylink.gif slask.py system.py system1.gif system2.gif 

而只是爲了說清楚,「硬鏈接可能無法正常指向目錄,但不能跨文件系統。」

這是因爲硬鏈接目錄可能會造成無限循環。所以需要使用os.mkdir創建目錄。然後可以將文件硬鏈接到新目錄中。

1

os.link聲稱可以在所有的Unix平臺上工作。是否有任何與OS X有關的具體問題?

+0

我想這樣,我試過了,python給了我這個錯誤: OSError:[Errno 1]不允許的操作 – 2012-04-26 05:53:25

+1

@ joshua.thomas.bird:你是怎麼嘗試的?它應該在Mac OS X上正常工作。你是否嘗試鏈接到一個你沒有寫權限的目錄? (在Mac OS X上,結果爲'1(EPERM):Operation not permitted'; EPERM意味着您無權寫入您試圖寫入的任何位置。 – 2012-04-26 06:12:02

+1

然後在shell中使用相同的參數。根據蘋果手冊,如果第一個參數是一個目錄,'link'可能會以'EPERM'失敗。 – rkhayrov 2012-04-26 06:15:46