python os.reanme 文件名带空格怎么处理

python os.reanme 文件名带空格怎么处理
如os.rename(r"C:\pyScripts\12.23\AppFail\懒人 听书.apk", r"C:\pyScripts\12.23\AppFail\aa.apk")会提示WindowsError:[Error 123],但是我一定要要去为带空格的文件改名字,怎么办?

你的错误在于:

对于中文名,没有定义文件名是Unicode,导致系统无法识别。而不是带空格导致的错误。

帮你写了完整的代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Function: python os.reanme 文件名带空格怎么处理
Author:     Crifan Li
Version:    2012-12-24
Contact:    admin at crifan dot com
"""

import os

def osrenameSpace():
    renameOk = os.rename(u"sub dir\\懒人 听书.apk", u"sub dir\\aa.apk");
    #renameOk = os.rename(u"sub dir\\不带空格的名字.apk", u"sub dir\\aa.apk"); # OK
    print "renameOk=",renameOk;

if __name__ == "__main__":
    osrenameSpace();


对于这些方面的知识,感兴趣的,自己去看:

【总结】Python 2.x中常见字符编码和解码方面的错误及其解决办法

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-24
我恐怕不能回复你。因为这里审查反斜杠。

办法就是在空格前加一个斜杠的符号就可以了。

别用r,正常的斜杠用反斜杠。而空格前面加上真正的斜杠追问

如果文件是os.listdir得来的,不就是我那种写法,我想知道这样可以处理不

追答

可以啊。如果是os.listdir出来的。就可以。

相似回答