Windows文件路径中的空格问题

69 投票
10 回答
255945 浏览
提问于 2025-04-17 15:43

我正在用Python进行文件操作。

我有一个文件路径是:

filepath = "E:/ABC/SEM 2/testfiles/all.txt"

当我用Python打开这个文件时,它告诉我:

IOError: No such file:

但是,这个文件在硬盘上是存在的。
可能是因为Windows无法正确处理“SEM 2”,因为它里面有空格。
我该如何处理Windows路径中的这种空格呢?

10 个回答

18

试着在你的文件路径变量中加上双引号

"\"E:/ABC/SEM 2/testfiles/all.txt\""

检查一下文件的权限,或者考虑把文件夹重命名,去掉里面的空格

73
path = r"C:\Users\mememe\Google Drive\Programs\Python\file.csv"

在 r"字符串" 中关闭路径也很好地解决了这个问题。

21

在路径中使用空格是没有问题的,因为你并不是通过“命令行”来打开文件。这里有一个来自Windows控制台的例子来证明这一点。你可能在其他地方出了错。

Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on wi
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>>
>>> os.makedirs("C:/ABC/SEM 2/testfiles")
>>> open("C:/ABC/SEM 2/testfiles/all.txt","w")
<open file 'C:/ABC/SEM 2/testfiles/all.txt', mode 'w' at 0x0000000001D95420>
>>> exit()

C:\Users\Gnibbler>dir "C:\ABC\SEM 2\testfiles"
 Volume in drive C has no label.
 Volume Serial Number is 46A0-BB64

 Directory of c:\ABC\SEM 2\testfiles

13/02/2013  10:20 PM    <DIR>          .
13/02/2013  10:20 PM    <DIR>          ..
13/02/2013  10:20 PM                 0 all.txt
               1 File(s)              0 bytes
               2 Dir(s)  78,929,309,696 bytes free

C:\Users\Gnibbler>

撰写回答