当前位置: 首页 > 知识库问答 >
问题:

OS错误:[WinError 123]文件名,目录名或卷标语法不正确

商昂然
2023-03-14

我正在尝试保存图像转换成灰度后,从一个文件夹到另一个。 当我运行代码时,它会将文件保存在同一个文件夹中,并制作所有图像的副本。 这是我的代码,请指导我的问题所在。。。

import glob
import cv2
import os
spath=r"C:\Users\usama\Documents\FYP-Data\FYP Project Data\hamza\*.png"
dpath=r"C:\Users\usama\Documents\FYP-Data\FYP Project Data\grayscale images\*.png"
files = os.listdir(spath)
for filename in glob.glob(r'C:\Users\usama\Documents\FYP-Data\FYP Project Data\hamza\*.png'):
    print(filename)
    img=cv2.imread(filename) 
    rl=cv2.resize(img, (40,50))
    gray_image = cv2.cvtColor(rl, cv2.COLOR_BGR2GRAY)
    cv2.imwrite(os.path.join(dpath,filename), gray_image)

共有1个答案

拓拔高畅
2023-03-14

如果您将完整路径名传递给glob.glob(),那么它将返回结果文件的完整路径,而不仅仅是文件名。

这意味着在代码的这个循环中:

for filename in glob.glob(r'C:\Users\usama\Documents\FYP-Data\FYP Project Data\hamza\*.png'):

filename是一个完整路径,例如C:\users\usama\documents\fyp-data\fyp Project data\hamza\myfile1.png

然后,在循环的后面调用cv2.imwrite(os.path.join(dpath,filename),gray_image)时,您试图将C:\users\usama\documents\fyp-data\fyp项目数据\grayscale images\*.pngC:\users\usama\documents\fyp-data\fyp项目数据\hamza\myfile1.png连接在一起,这是错误的原因。

我看不出这段代码实际上是怎么写任何文件的,不管是重复还是不重复。

 类似资料:
  • 我知道这可能很简单,但我解决不了。 我试图将一个文件从Java客户端上传到webdav服务器,这是我的代码片段 在创建o/p流时,我得到 JAVA伊奥。FileNotFoundException:https:\webdavserverurl\Uploads\abc。csv(文件名、目录名或卷标语法不正确) 为什么它会改变路径?我该如何修复它? 注: 这是一个请求。文件abc.csv正在服务器位置创

  • 我正在Spring MVC框架上构建一个web应用程序,并使用thymeleaf作为我的模板引擎。 在添加新的REST控制器之前,我有一个工作应用程序。现在抛出IOException JAVA伊奥。IOException:文件名、目录名或卷标语法不正确 只有当浏览器试图从我的taoC获取css、js或任何其他静态资源时才会发生这种情况onnection-servlet.xml.我的jetty和to

  • 我有一个log4j2。我用来定义输出到的一些记录器的xml文件。日志文件。 在. xml已经读入之后,我在java中为logger fileNames设置了完整路径。 代码按预期工作,日志被输出到更新的路径,但我遇到以下错误: 2022-01-18 15:05:26685主要错误文件管理器(${sys:logFileName})java。伊奥。IOException:文件名、目录名或卷标语法不正确

  • 问题内容: 我正在尝试使用以下代码复制文件: 对于某些用户,此异常的结果是: 文件名和目录名似乎正确。甚至在执行复制代码之前检查目录是否存在,文件名看起来像这样: 用户具有的写入权限,并且可以使用OS毫无问题地复制文件。 由于我无法访问计算机,因此这种情况仍在发生,并且无法在我自己的计算机上重现该问题,因此我向您寻求有关此异常原因的提示。 问题答案: 尝试此操作,因为它更需要调整targetPat

  • 最近刚刚退出expo,我正试图在android设备上运行我的应用程序。我按照说明进行了操作(可能是正确的),但是当我尝试运行我的应用程序时,我总是收到这个错误: 使用'- warning-mode all '来显示各个弃用警告。见https://docs . grad le . org/6 . 0 . 1/user guide/command _ line _ interface . html #

  • 警告:JKS密钥存储库使用专有格式。建议使用“keytool-importkeystore-srckeystore c:\users\hp.android\debug.keystore-destkeystore c:\users\hp.android\debug.keystore-deststoretype PKCS12”迁移到PKCS12,这是一种行业标准格式。 当我要迁移到PKCS12时,就会

  • 我正在尝试使用on_message事件将消息和有关消息的信息写入我的文件日志。然而,我得到的错误; 回溯(最后一次调用):文件“C:\Users\arsto\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\Local Packages\Python38\site Packages

  • 问题内容: 我知道这个问题以前曾被问过,但是我无法使用其他帖子中的解决方案来解决。我正在尝试使用Maven编译gwt项目的复杂层次结构。一切正常,直到我不得不再添加一个库,更具体地说:org.eclipse.birt.runtime 现在我得到这个错误: 我正在使用的依赖项是: 问题答案: 我终于设法解决了: 事实证明birt及其依赖项只是添加了太多的库,而classpath变得对于Windows