Python WindowsError:[错误123]文件名、目录名或卷标语法不正确:
我是编程新手,这实际上是我第一次从事编码工作。下面的代码引发了一个错误:Python WindowsError:[错误123]文件名、目录名或卷标语法不正确:,python,Python,我是编程新手,这实际上是我第一次从事编码工作。下面的代码引发了一个错误: WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect. 我找不到问题所在 import os folders = ["pdcom1", "pdcom1reg", "pdcomopen"] for folder in folders: path = r'"C:\Apps\CorVu
WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect.
我找不到问题所在
import os
folders = ["pdcom1", "pdcom1reg", "pdcomopen"]
for folder in folders:
path = r'"C:\Apps\CorVu\DATA\Reports\AlliD\Monthly Commission Reports\Output\pdcom1"'
for file in os.listdir(path):
print file
当它解决了问题时,我把它作为一个答案 不要使用单引号和双引号,尤其是当您定义一个前面有
r
的原始字符串时
正确的电话是
path = r"C:\Apps\CorVu\DATA\Reports\AlliD\Monthly Commission Reports\Output\pdcom1"
或
我在Spyder中遇到了一个相关的问题,但问题似乎是路径名中转义字符(\)和“\”之间的关系 以下是我的说明和解决方案(注意单\双\\):
在与Jupyter合作时,我也遇到了类似的问题。 我试图使用shutil的复制功能将文件从一个目录复制到另一个目录。 问题是我忘记了导入包。(愚蠢的)但是python没有给出导入错误,而是给出了这个错误 通过添加以下内容解决:
from shutil import copy
我在Django上遇到了这个问题,这是因为我忘记了在后端启动虚拟环境。我在Django Rest框架上遇到了相同的错误,与UI无关,仍然会遇到这个错误。 我申请了下面的解决方案,为我工作
- 重新启动机器
- 重新启动虚拟环境
- 这是一个老问题,但我想在这里提到Python3中的pathlib库
如果你写:
from pathlib import Path
path: str = 'C:\\Users\\myUserName\\project\\subfolder'
osDir = Path(path)
或
osDir将得到相同的结果
如果您将其写为:
path: str = "subfolder"
osDir = Path(path)
absolutePath: str = str(Path.absolute(osDir))
您将返回绝对目录,如下所示
'C:\\Users\\myUserName\\project\\subfolder'
您可以查看更多有关pathlib库的信息。执行以下命令
Python manage.py makemigrations
它将显示丢失的包
安装缺少的软件包,然后再次运行下面的命令,以确保没有遗漏任何内容
Python manage.py makemigrations
它将解决您的问题。我遇到了相同的错误,尽管我没有使用您案例中的路径。我的问题的解决方案是安装django扩展包。使用单引号和双引号。这可能是个问题!好吧,就是这样!非常感谢。我已经添加了一个不同的解决方案,我想我忘了删除它们。调试提示:确保您提供给看起来行为不正常的函数的数据是正确的。一个简单的
打印(路径)
会显示双引号是字符串值的一部分。问题是字符串上的双引号。OP已将字符串转换为原始字符串r“path”
,因此转义字符不是问题。我有错误FileNotFoundError:[WinError 3]系统找不到指定的路径:“C:\\Users…\\xxx.csv”
,我的代码正在使用os.rename(r'C:Users\…\\xxxx.csv',r'C:\Users\…\xxxx\+str(当前日期)+'.csv')
我如何解决它?我在Jupyter中遇到了一个类似的问题,只有一些新添加的子目录。让我抓狂,但使用os.chdir在引用的路径前添加“r”修复了它。r是否以某种方式告诉程序它是一个路径而不是转义字符?在我的例子中,只有从原始字符串到普通字符串的转换才有帮助?您是否遇到了完全相同的问题?在回答这个问题时,我使用的是python 2.7。从未尝试过python 3是否会表现不同……我使用python 3,但症状是一样的。我想还不清楚是否是同一个问题,因为错误消息非常不具体。我想我的答案的核心(“不要混合引号类型”)通常是有效的,但在所有情况下可能都不够。你能确定禁用我的解决方案的字符吗?如果是,那就值得单独回答!
path: str = "C:\\Users\\myUserName\\project\\subfolder"
osDir = Path(path)
path: str = "subfolder"
osDir = Path(path)
absolutePath: str = str(Path.absolute(osDir))
'C:\\Users\\myUserName\\project\\subfolder'