os.path.isfile(路径/to/image)为False,而os.path.isdir(目录映像所在的位置为t



。。。

from google.colab import drive
drive.mount('/content/drive', force_remount=True)
# Commented out IPython magic to ensure Python compatibility.
# %cd /content
!ls
!cat ttt.txt
!ls
Path2 = "/content/drive/MyDrive/foop/train/"
Path1 = "/content/drive/MyDrive/food-101/images/"
#print(os.path.isdir(Path2))
for i in range(len(L)):
#path1 = str(Path1) + str(L[i]) + str('/') #+ str(Train[i][1])
path2 = str(Path2) + str(L[i]) + str('/') #+ str(Train[i][1])
print(path2)
print(os.path.isdir(path2))
if not os.path.exists(path2):
os.makedirs(path2)
print(os.path.exists(path2))





'''
for i in range(len(Train)%100):
path1 = str(Path1) + str(Train[i][0]) + str('/') #+ str(Train[i][1])
path2 = str(Path2) + str(Train[i][0]) + str('/') #+ str(Train[i][1])
path1 = str(path1)
path2 = str(path2)
#print(os.path.isdir(path1))
#print(os.path.isdir(path2))
if not (os.path.isdir(path2)):
#pass
#!mkdir path2
#print(os.path.isdir(path1))
print(os.path.isdir(path2))
#!cp path1 path2
#shutil.copy(path1, path2)
'''
for i in range(len(Train)):
path1 = str(Path1) + str(Train[i][0]) + str('/') + str(Train[i][1])
path2 = str(Path2) + str(Train[i][0]) + str('/') + str(Train[i][1])
path1 = str(path1)
path2 = str(path2)
#print(os.path.isdir(path1))
#print(os.path.isdir(path2))
#print(os.path.isdir(path2))
#pass
#!mkdir path2
#print(str(Train[i][1]))
#print(os.path.isdir(path1))
if (str(Train[i][0])=="baklava"):
#print(str(Train[i][1])) 
**print(os.path.isfile(Path1+"/"+"baklava"+"/"+"1117620.jpg"))**
#!cp path1 path2
#shutil.copy(path1, path2)

错误是:

os.path.isdir(Path1+"/"+"baklava"+"/"(给出真实

但是-

os.path.isfile(Path1+"/"+"baklava"+"/"+1117620.jpg"(给出错误

我也尝试过这一点,正如另一个答案所建议的那样:

...
P2 = os.path.join('/content', 'drive', 'MyDrive', 'foop', 'train')
P1 = os.path.join('/content', 'drive', 'MyDrive', 'food-101', 'images')
for i in range(len(Train)):
#path1 = str(Path1) + str(Train[i][0]) + str('/') + str(Train[i][1])
#path2 = str(Path2) + str(Train[i][0]) + str('/') + str(Train[i][1])
#path1 = str(path1)
#path2 = str(path2)
#print(path1)
#print(os.path.isfile(path1))
#print(os.path.isdir(path2))
#print(os.path.isdir(path2))
#pass
#!mkdir path2
#print(str(Train[i][1]))
#print(os.path.isdir(path1))
#print(str(Train[i][1])) 

#!cp path1 path2
#shutil.copy(path1, path2)
P = os.path.join(P1, str(Train[i][0]), str(str(Train[i][1] + '.jpg')))
print(os.path.isdir(P1))
print(P)
print(os.path.isfile(P))
...

输出-

正确/content/drive/MyDrive/food-101/images/waffles/88311.jpg错误正确/content/drive/MyDrive/food-101/images/waffles/903293.jpg错误正确/content/drive/MyDrive/food-101/images/waffles/923472.jpg错误正确/content/drive/MyDrive/food-101/images/waffles/940186.jpg错误正确/content/drive/MyDrive/food-101/images/waffles/948829.jpg错误正确/content/drive/MyDrive/food-101/images/waffles/957965.jpg错误正确/content/drive/MyDrive/food-101/images/waffles/97524.jpg错误正确/content/drive/MyDrive/food-101/images/waffles/9813.jpg错误正确/content/drive/MyDrive/food-101/images/waffles/982668.jpg错误

同样对于这个

P2=操作系统路径加入('/content','drive','MyDrive','foop','train'(

P1 = os.path.join('/content', 'drive', 'MyDrive', 'food-101', 'images')
for i in range(len(Train)):
#path1 = str(Path1) + str(Train[i][0]) + str('/') + str(Train[i][1])
#path2 = str(Path2) + str(Train[i][0]) + str('/') + str(Train[i][1])
#path1 = str(path1)
#path2 = str(path2)
#print(path1)
#print(os.path.isfile(path1))
#print(os.path.isdir(path2))
#print(os.path.isdir(path2))
#pass
#!mkdir path2
#print(str(Train[i][1]))
#print(os.path.isdir(path1))
#print(str(Train[i][1])) 

#!cp path1 path2
#shutil.copy(path1, path2)
P = os.path.join(P1, str(Train[i][0]), str(str(Train[i][1] + '.jpg')))
PP1 = os.path.join(P1, str(Train[i][0]))
PP2 = os.path.join(P2, str(Train[i][0]))
print(os.path.isdir(P1))
print(os.path.isdir(PP1))
print(os.path.isdir(PP2))
print(P)
print(os.path.isfile(P))

Output :
True for isdir() false for isfile() 
'''
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1002167.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1012802.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/102284.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1034768.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1045631.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1068834.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1096319.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1113665.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1126334.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1140791.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/114959.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1169507.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1184113.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/119195.jpg
False
True
True
True
/content/drive/MyDrive/food-101/images/takoyaki/1216488.jpg
False

''

正如Kemp所说,您应该检查路径是否实际指向现有文件。无论如何,您应该检查Pathlib而不是os.path。使用路径时,它将为您节省大量时间。

最新更新