Python 3.x Python“;开放式;函数正在向我的路径添加斜杠
我想在我的windows路径..\labels.csv中打开一个csv文件,但在“打开”功能中,它将我的路径修改为..\\labels.csv,因此无法找到我的文件,为什么 我有以下代码:Python 3.x Python“;开放式;函数正在向我的路径添加斜杠,python-3.x,windows,Python 3.x,Windows,我想在我的windows路径..\labels.csv中打开一个csv文件,但在“打开”功能中,它将我的路径修改为..\\labels.csv,因此无法找到我的文件,为什么 我有以下代码: print("..\\labels.csv") with open(r"..\labels.csv") as csv_file: #Some code 它给了我这个错误: File "src\win_labelling.py&
print("..\\labels.csv")
with open(r"..\labels.csv") as csv_file:
#Some code
它给了我这个错误:
File "src\win_labelling.py", line 144, in <module>
with open(r"..\labels.csv") as csv_file:
FileNotFoundError: [Errno 2] No such file or directory: '..\\labels.csv'
文件“src\win\u labeling.py”,第144行,在
将打开的(r.。\labels.csv”)作为csv\u文件:
FileNotFoundError:[Errno 2]没有这样的文件或目录:'..\\labels.csv'
您的代码有三个问题,第一个是您没有定义当前目录或导入csv模块
第二个问题是,如果要打开本地文件(与可执行文件位于同一文件夹中),则不需要添加。\
,这通常仅在另一文件夹中有文件时使用。因此,您的代码所发生的事情是:打开
函数将您的路径转换为一个str
,并且已经将\
添加到开始处。插入“.\labels.csv”
时,open将形成字符串“\”+“\labels.csv”
成为“.\\labels”
,并导致错误FileNotFound
,因为没有具有该名称的目录(路径)
第三个问题是,您不清楚是要读取还是写入该文件。当你把“r”放在前面时,我相信它是可读的,所以语法是错误的。正确的代码是:
import os
import csv
# Your Absolute Path
os.path.dirname(os.path.abspath(__file__))
# If your labels.csv is in the same folder
with open("labels.csv", newline='') as csv_file:
#Some code
我建议查看是否要对csv文件执行另一个操作,以及。我的脚本如何在“test\src\”中运行,我正在尝试打开位于“test\”中的文件。在ubuntu中,我使用“./”放在更高的文件夹中,但我认为它在windows上不起作用。如果您使用windows,请尝试使用“…”而不是“../”,那么,我认为这应该可以解决您的问题。另一个解决方案是使用pathlib模块,他在使用windows时会很方便。路径不会被修改<代码>“.\\labels.csv”是一个字符串文字,它创建一个只有一个反斜杠的字符串。将反斜杠加倍是以字符串文字转义的方法。工作目录可能不是您所期望的。检查
导入操作系统;打印(os.getcwd())
。