Python-打开带有空格的文件时遇到问题

Python-打开带有空格的文件时遇到问题,python,filenotfoundexception,Python,Filenotfoundexception,因此,我试图打开“子网文件夹”文件夹中的多个文件。但是,它不允许我打开包含空格的特定文件 for filename in os.listdir(pathlib.Path.cwd() / "Subnet folder"): f = open(filename, 'r', encoding="ISO-8859-1") 这是我收到的错误: FileNotFoundError: [Errno 2] No such file or directory: '10.181.136.0 24.csv

因此,我试图打开“子网文件夹”文件夹中的多个文件。但是,它不允许我打开包含空格的特定文件

for filename in os.listdir(pathlib.Path.cwd() / "Subnet folder"):
    f = open(filename, 'r', encoding="ISO-8859-1")
这是我收到的错误:

FileNotFoundError: [Errno 2] No such file or directory: '10.181.136.0  24.csv'
文件肯定在那里,所以我不确定问题出在哪里


感谢您的帮助。谢谢

看起来您需要在文件名前面添加
子网文件夹
。您可以使用
os

import os
for filename in os.listdir(pathlib.Path.cwd() / "Subnet folder"):
    f = open(os.path.join("Subnet folder", filename), 'r', encoding="ISO-8859-1")

看起来您需要在文件名前面添加
子网文件夹
。您可以使用
os

import os
for filename in os.listdir(pathlib.Path.cwd() / "Subnet folder"):
    f = open(os.path.join("Subnet folder", filename), 'r', encoding="ISO-8859-1")

文件名
最终与您的CWD相关,因此您需要执行以下操作

folder = pathlib.Path.cwd() / "Subnet folder"
for filename in os.listdir(folder):
    f = open(folder / filename, 'r', encoding="ISO-8859-1")

文件名
最终与您的CWD相关,因此您需要执行以下操作

folder = pathlib.Path.cwd() / "Subnet folder"
for filename in os.listdir(folder):
    f = open(folder / filename, 'r', encoding="ISO-8859-1")

空间不是这里的问题;相对路径为

os.listdir
只生成文件名,而不是相对于当前工作目录的路径。如果要打开文件,需要使用相对路径

d = pathlib.Path.cwd() / "Subnet folder"
for filename in os.listdir(d):
    f = open(d / filename, 'r', encoding="ISO-8859-1")
请注意,您实际上不需要在此处使用
cwd
,因为
listdir
open
都已经针对当前工作目录解释了相对路径

for filename in os.listdir("Subnet folder"):
    f = open(os.path.join("Subnet folder", filename), ...)
或者,先更改您的工作目录。然后,文件名本身将是
open
的有效相对路径

os.chdir("Subnet folder)
for filename in os.listdir():
    f = open(filename, ...)
最后,您可以完全避免
os.listdir
,因为如果
Path
对象引用目录,您可以直接迭代其内容。此迭代生成一系列
Path
实例,每个实例都有一个
open
方法,可以用来代替普通的
open
函数

for filename in (pathlib.Path.cwd() / "Subnet Folder").iterdir():
    f = filename.open(...)

空间不是这里的问题;相对路径为

os.listdir
只生成文件名,而不是相对于当前工作目录的路径。如果要打开文件,需要使用相对路径

d = pathlib.Path.cwd() / "Subnet folder"
for filename in os.listdir(d):
    f = open(d / filename, 'r', encoding="ISO-8859-1")
请注意,您实际上不需要在此处使用
cwd
,因为
listdir
open
都已经针对当前工作目录解释了相对路径

for filename in os.listdir("Subnet folder"):
    f = open(os.path.join("Subnet folder", filename), ...)
或者,先更改您的工作目录。然后,文件名本身将是
open
的有效相对路径

os.chdir("Subnet folder)
for filename in os.listdir():
    f = open(filename, ...)
最后,您可以完全避免
os.listdir
,因为如果
Path
对象引用目录,您可以直接迭代其内容。此迭代生成一系列
Path
实例,每个实例都有一个
open
方法,可以用来代替普通的
open
函数

for filename in (pathlib.Path.cwd() / "Subnet Folder").iterdir():
    f = filename.open(...)

os.listdir
返回路径中包含的元素的名称,但不返回路径本身。它们是否与脚本位于同一文件夹中?在同一级别中?
os.listdir
返回路径中包含的元素的名称,但不返回路径本身。它们是否与脚本位于同一文件夹中?在同一水平?