Windows文件路径路径中的空格

时间:2013-02-13 11:09:21

标签: python file

我正在使用python进行文件操作。

我的文件路径为:

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

当我使用python打开文件时,它说我:

IOError: No such file:

但是,文件存在于驱动器上 这可能是因为窗户因为包含空间而无法正确使用“SEM 2” 我怎样才能在窗口路径的路径中处理这样的空格?

6 个答案:

答案 0 :(得分:21)

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

关闭r" string"中的路径也很好地解决了这个问题。

答案 1 :(得分:13)

路径中的空格没有问题,因为您没有使用“shell”来打开文件。这是一个来自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>

答案 2 :(得分:8)

这个解决方案对我有用:&#34;双引号&#34;

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

答案 3 :(得分:4)

尝试在文件路径变量中添加双引号

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

检查文件的权限,或者在任何情况下都考虑重命名文件夹以删除空格

答案 4 :(得分:0)

(WINDOWS-AWS解决方案)
通过在文件和路径两边加上三引号解决了Windows问题。
优点:
1)防止被悄悄忽略的排除对象。
2)包含空格的文件/文件夹将不再引起错误。

    aws_command = 'aws s3 sync """D:/""" """s3://mybucket/my folder/"  --exclude """*RECYCLE.BIN/*""" --exclude """*.cab""" --exclude """System Volume Information/*""" '

    r = subprocess.run(f"powershell.exe {aws_command}", shell=True, capture_output=True, text=True)

答案 5 :(得分:0)

Mac 上的一个黑客:

path = '/Volumes/Public/ABY/Documents/Musiq/slumdog millonaire/Mausam and Escape.mp3'
nPath = path.replace(' ', '\\ ')
print(nPath)

输出:

/Volumes/Public/ABY/Documents/Musiq/slumdog\ millonaire/Mausam\ and\ Escape.mp3