如何更改文件位置

时间:2021-01-24 16:23:49

标签: python macos tensorflow pycharm file-not-found

关于我的项目 我正在尝试在 pycharm MacOS 上使用 python 和 tensorflow 训练图像以进行文本检测

现在我正致力于将数据拆分为训练。 TrainingData 文件中有 2 个文件。每个图像文件夹有 4 个图像。(我知道它很少,但我稍后会添加更多图像)


path = 'TrainingData'

images = []
classNo = []
myList = os.listdir(path)
print('Total No of Classes Detected...', len(myList))
noOfClasses = len(myList)
print('Importing Classes...')


for x in range(0, noOfClasses):
    myPicList = os.listdir(path+'/'+str(x))
    for y in myPicList:
        curImg = cv2.imread(path+'/'+str(x)+'/'+y)
        classNo.append(x)
    print(x, end=' ')
print(' ')

然而,结果返回

 File "/Users/myname/PycharmProjects/TextDetection/Playernames.py",line 37, in <module>
    myPicList = os.listdir(path+"/"+str(x))
FileNotFoundError: [Errno 2] No such file or directory: 'TrainingData/0'
Total No of Classes Detected... 2
Importing Classes...

我试图解决的问题

1.检查路径是否存在

path = 'TrainingData'
if os.path.isfile(path):
    print('File exists')
else:
    print('Failed')

结果显示失败,所以我认为文件中不存在该路径。

2:检查文件树

TrainingData 树↓

/Users/myname/PycharmProjects/TextDetection/TrainingData
├── File Name 1
│   ├── IMG_1754.jpg
│   ├── IMG_1755.jpg
│   ├── IMG_1756.jpg
│   └── IMG_1757.jpg
└── File Name 2
    ├── IMG_1751.jpg
    ├── IMG_1752.jpg
    ├── IMG_1753.jpg
    └── IMG_1758.jpg

2 directories, 8 files

项目文件本身的树

/Users/myname/PycharmProjects/TextDetection/Playernames.py [error opening dir]

0 directories, 0 files

我想知道的

根据树,我想我需要更改 TrainingData 的位置,因为项目显示它没有任何目录或文件。 我想知道如何改变它。

我是初学者,所以我不确定我的尝试是对还是错。

1 个答案:

答案 0 :(得分:1)

当您定义图像的路径时,您必须包含完整的文件路径。

如果您将代码更改为以下内容,它应该可以工作!

path = '/Users/myname/PycharmProjects/TextDetection/TrainingData'

images = []
classNo = []
myList = os.listdir(path)
print('Total No of Classes Detected...', len(myList))
noOfClasses = len(myList)
print('Importing Classes...')


for x in range(0, noOfClasses):
    myPicList = os.listdir(path+'/'+str(x))
    for y in myPicList:
        curImg = cv2.imread(path+'/'+str(x)+'/'+y)
        classNo.append(x)
    print(x, end=' ')
print(' ')

让我知道这是否有效!