Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中重命名符号链接_Python_Python 2.7 - Fatal编程技术网

在python中重命名符号链接

在python中重命名符号链接,python,python-2.7,Python,Python 2.7,我想知道是否可以用python重命名符号链接 已尝试os.rename和shutil.move 有什么想法吗 os.rename返回此错误:OSError:[Errno 18]跨设备链接 >>> import sys, os >>> >>> path = '/Library/Application Support/appsolute/MAMP PRO/db/' >>> job = path + 'mysql-job/' &

我想知道是否可以用python重命名符号链接

已尝试
os.rename
shutil.move

有什么想法吗

os.rename返回此错误:
OSError:[Errno 18]跨设备链接

>>> import sys, os
>>> 
>>> path = '/Library/Application Support/appsolute/MAMP PRO/db/'
>>> job = path + 'mysql-job/'
>>> perso = path + 'mysql-perso/'
>>> mysql = path + 'mysql/'
>>> 
>>> os.rename(mysql, job)

Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    OSError: [Errno 18] Cross-device link
>>> exit()

Danny-Dombrowski:script ddombrowski$ ls -al /Library/Application\ Support/appsolute/MAMP\ PRO/db/
    total 24
    drwxrwxr-x   5 root         admin   170  7 fév 19:29 .
    drwxrwxr-x  12 root         admin   408  7 fév 17:14 ..
    -rw-r--r--@  1 ddombrowski  admin  6148  7 fév 19:29 .DS_Store
    lrwxr-xr-x   1 ddombrowski  admin    46  7 fév 19:29 mysql -> /Volumes/Gestion Portail         Sante/Database/mysql/
    drwxrwxr-x  11 ddombrowski  admin   374  7 fév 19:22 mysql-perso
导入系统,操作系统 >>> >>>path='/Library/Application Support/appsolute/MAMP PRO/db/' >>>作业=路径+'mysql作业/' >>>perso=path+'mysql perso/' >>>mysql=路径+'mysql/' >>> >>>重命名(mysql,作业) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 操作错误:[Errno 18]跨设备链接 >>>退出() Danny Dombrowski:script ddombrowski$ls-al/Library/Application\Support/appsolute/MAMP\PRO/db/ 总数24 drwxrwxr-x 5根管理员170 7 fév 19:29。 drwxrwxr-x 12根管理员408 7 fév 17:14。。 -rw-r--r--@1 ddombrowski管理员6148 7 fév 19:29。DS_商店
lrwxr-xr-x 1 ddombrowski admin 46 7 fév 19:29 mysql->/Volumes/Gestion Portail Sante/Database/mysql/ drwxrwxr-x 11 ddombrowski管理员374 7 fév 19:22 mysql个人 os.rename应该可以工作

xupeng@xupeng t $ ls -l
total 0
-rw-r--r-- 1 xupeng xupeng 0 Feb  8 08:22 a
lrwxrwxrwx 1 xupeng xupeng 1 Feb  8 08:23 b -> a
xupeng@xupeng t $ python
Python 2.6.5 (release26-maint, Sep 21 2011, 10:32:38) 
[GCC 4.3.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.rename('b', 'c')
xupeng@xupeng t $ ls -l
total 0
-rw-r--r-- 1 xupeng xupeng 0 Feb  8 08:22 a
lrwxrwxrwx 1 xupeng xupeng 1 Feb  8 08:23 c -> a
重命名应该可以工作

xupeng@xupeng t $ ls -l
total 0
-rw-r--r-- 1 xupeng xupeng 0 Feb  8 08:22 a
lrwxrwxrwx 1 xupeng xupeng 1 Feb  8 08:23 b -> a
xupeng@xupeng t $ python
Python 2.6.5 (release26-maint, Sep 21 2011, 10:32:38) 
[GCC 4.3.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.rename('b', 'c')
xupeng@xupeng t $ ls -l
total 0
-rw-r--r-- 1 xupeng xupeng 0 Feb  8 08:22 a
lrwxrwxrwx 1 xupeng xupeng 1 Feb  8 08:23 c -> a

os.rename
可以正常工作:

$ ln -s target link
$ python -c "import os; os.rename('link', 'link.new')"
$ ls -l link.new
lrwxrwxrwx 1 phihag phihag 6 Feb  8 01:25 link.new -> target

确保在符号链接后不包含
/
链接/
链接/
相同,而不是与
链接

操作系统相同。重命名
可以正常工作:

$ ln -s target link
$ python -c "import os; os.rename('link', 'link.new')"
$ ls -l link.new
lrwxrwxrwx 1 phihag phihag 6 Feb  8 01:25 link.new -> target

请确保在符号链接后不包含
/
链接/
链接/
相同,而与
链接
不同。我在尝试操作系统时收到以下错误:操作系统错误:[Errno 18]跨设备链接。重命名我的link@Danny.Domb这意味着你有一个硬链接,而不是符号链接。请提出一个新问题,并尝试在将其归因于Python之前在shell中重现该行为。@Danny.Domb确实如此,但错误消息表明存在硬链接。如果你真的认为你已经创建了一个符号链接,请发布
ls-l
lrwxr-xr-x 1 ddombrowski admin 46 7 fév 19:29 mysql->/Volumes/Gestion Portail Sante/Database/mysql/I的输出:当我尝试重命名我的操作系统时,出现以下错误:OSError:[Errno 18]跨设备链接link@Danny.Domb这意味着你有一个硬链接,不是符号链接。请提出一个新问题,并尝试在将其归因于Python之前在shell中重现该行为。@Danny.Domb确实如此,但错误消息表明存在硬链接。如果你真的认为你已经创建了一个符号链接,请发布
ls-l
lrwxr-xr-x 1 ddombrowski admin 46 7 fév 19:29 mysql->/Volumes/Gestion Portail Sante/Database/mysql/的输出,
shutil.move
对我来说效果很好。它对我来说也很好。。。除了它简单地将符号链接的所有内容移动到新路径,而不是简单地为它的价值重命名,
shutil.move
对我来说很好。它对我来说也很好。。。除了它只是将符号链接的所有内容移动到新路径,而不是简单地重命名其本身,不向符号链接名称追加
/
很重要:)当然,不向符号链接名称追加
/
很重要:)