os.path.join操作系统每叠生成4个反斜杠

2024-04-26 03:38:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写一个函数,在当前目录及其子文件夹中查找特定文件的第一个实例,并以字符串形式返回相对路径。在

def findFirstMatch(targetFile):
    try:
        fileMatched = []
        for root, dirnames, filenames in os.walk('.'):
            for filename in fnmatch.filter(filenames, targetFile):
                fileMatched.append(os.path.join(root, filename))
            if len(fileMatched) != 0:
                fileMatched = str(fileMatched)
                return fileMatched
        if len(fileMatched) == 0:
            raise NotFoundError, 'File could not be found.'
    except NotFoundError, error:
        print error

当我这样调用函数时:

^{pr2}$

我在Python控制台中运行时收到以下错误消息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "MassSpringDamperCAD.py", line 121, in <module>
    main()
  File "MassSpringDamperCAD.py", line 90, in main
    with open(csvPath, 'r') as csvFile:
IOError: [Errno 2] No such file or directory: "['.\\\\common\\\\bounding_box_limits.csv']"

它找到了文件,但是这些多余的反斜杠怎么会出现在文件路径中呢?在

注意:我使用的是Windows7和Python2.7.3。在


Tags: 文件inforlenifoslineerror
1条回答
网友
1楼 · 发布于 2024-04-26 03:38:46

这些反斜杠是反斜杠的副作用。官样文章:-)

在字符串中,在CLI中,表示反斜杠的反斜杠通常在反斜杠之前,否则In位于特殊字符同义词之前,例如\n表示换行,\t表示制表符。根据我的经验,这些反斜杠的数量不会引起问题。您可以尝试通过^{}规范化字符串中的路径。在

这个问题当然是Windows特有的。在

相关问题 更多 >