转换代码以将Windows中的文件读取到linux
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转换代码以将Windows中的文件读取到linux相关的知识,希望对你有一定的参考价值。
我目前从cv2 resize收到一个错误,表明文件中没有任何内容。它在Windows上工作正常,但我正在努力找出需要做的事情(除了路径名称的更改)以便在Linux上工作。
path1 ='C:/Users/L/Software/Data/channels/ch3'
listing = os.listdir(path1)
ch3_matrix = array([array(cv2.resize(cv2.imread(path1 + '\' + im2,0),(55,55))).flatten()
for im2 in listing])
答案
问题是你正在构建的最终路径:
path1 + '\' + im2
其中path1
是你的基目录,im2
是图像文件名。这样做(使用字符串连接)可能会导致问题非常快,并且通常不鼓励。
我建议使用os.path.join
或更新的pathlib
模块,它们都与平台无关:
import os
BASE_PATH = 'C:/Users/L/Software/Data/channels/ch3'
images = os.listdir(BASE_PATH)
ch3_matrix = array([
array(cv2.resize(cv2.imread(os.path.join(BASE_PATH, image), 0), (55, 55))).flatten()
for image in images
])
要么
import pathlib
BASE_PATH = pathlib.Path('C:/Users/L/Software/Data/channels/ch3')
images = os.listdir(BASE_PATH)
ch3_matrix = array([
array(cv2.resize(cv2.imread(str(BASE_PATH / image), 0), (55, 55))).flatten()
for image in images
])
要使您的代码在Linux上运行,您只需要更改BASE_PATH
。
以上是关于转换代码以将Windows中的文件读取到linux的主要内容,如果未能解决你的问题,请参考以下文章
需要帮助修复代码以将文本框中的值转换为 ActionScript 3 中的变量
如何使用 java 创建一个独立的应用程序以将 JSON 文件数据转换为 Excel [关闭]