Python论坛  - 讨论区

标题:[python-chinese] 带空格的路径应该怎么引用?

2005年11月03日 星期四 11:30

Du Jun jdu at haiercct.com.cn
Thu Nov 3 11:30:20 HKT 2005

如 : 
D:\Documents and Settings\Arui\桌面\工作夹
这个路径我想把它付给变量 iWorkFolder,
iWorkFolder=‘D:\Documents and Settings\Arui\桌面\工作夹’
程序执行出错。


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月03日 星期四 12:30

zhang yunfeng zhangyunfeng at gmail.com
Thu Nov 3 12:30:51 HKT 2005

iWorkFolder= r'D:\Documents and Settings\Arui\桌面\工作夹'

在 05-11-3,Du Jun<jdu at haiercct.com.cn> 写道:
> 如 :
> D:\Documents and Settings\Arui\桌面\工作夹
> 这个路径我想把它付给变量 iWorkFolder,
> iWorkFolder='D:\Documents and Settings\Arui\桌面\工作夹'
> 程序执行出错。
>
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月03日 星期四 12:31

Tom zysno1 at gmail.com
Thu Nov 3 12:31:21 HKT 2005

Du Jun wrote:

>如 : 
>D:\Documents and Settings\Arui\桌面\工作夹
>这个路径我想把它付给变量 iWorkFolder,
>iWorkFolder=‘D:\Documents and Settings\Arui\桌面\工作夹’
>程序执行出错。
>
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>
>  
>
转义字符阿。

D:\Documents/ and/ Settings\Arui\桌面\工作夹

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月03日 星期四 12:45

Qiangning Hong hongqn at gmail.com
Thu Nov 3 12:45:40 HKT 2005

Du Jun wrote:
> 如 : 
> D:\Documents and Settings\Arui\桌面\工作夹
> 这个路径我想把它付给变量 iWorkFolder,
> iWorkFolder=‘D:\Documents and Settings\Arui\桌面\工作夹’
> 程序执行出错。

1. 反斜杠在字符串中是转义字符,要写成:

iWorkFolder = 'D:\\Documents and Settings\\Arui\\桌面\\工作夹'

或者

iWorkFolder = r'D:\Documents and Settings\Arui\桌面\工作夹'

后一种写法在字符串末尾带反斜杠时是不能应用的[1],更正统的写法是用
os.path.normpath:

iWorkFolder = os.path.normpath('D:/Documents and Settings/Arui/桌面/工作夹')

2. 在路径中包含空格并不是错,绝大部分函数都能正确处理,如os.listdir()。
但是如果你用了类似os.system这样的函数调用shell,就要考虑shell是通过空格
来分隔参数的,这时就需要你把路径用引号括起来,好让shell知道这是一个完整
参数,如:

os.system('tar jcvf archive.tar.bz2 "%s"' % iWorkFolder)


[1] 这是一个python陷阱,我有一篇blog文章说这个:
http://www.livejournal.com/users/hongqn/13175.html

-- 
Qiangning Hong, Registered Linux User #396996
My Blog: http://www.hn.org/hongqn
RSS: http://feeds.feedburner.com/hongqn


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年11月03日 星期四 12:48

Fat fatbobman at gmail.com
Thu Nov 3 12:48:07 HKT 2005

在 05-11-3,Du Jun<jdu at haiercct.com.cn> 写道:
> 如 :
> D:\Documents and Settings\Arui\桌面\工作夹
> 这个路径我想把它付给变量 iWorkFolder,
> iWorkFolder='D:\Documents and Settings\Arui\桌面\工作夹'
> 程序执行出错。

'好想错了吧。你现在的是全脚字符

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号