关于如何创建目录有很多建议,但我没有遇到将文件保存在新创建的目录中的优雅解决方案。代码将文件保存在主文件夹中,而不是特定于ID。我非常感谢你的帮助。谢谢!
我正在使用Windows 10 Python 3.
1)检查“TrainData / xx-xxx”目录是否存在
2)如果它不存在:
3)如果存在:
将文件保存在此新目录(TrainData / xx-xxx)中,并将其命名为xx-xxx .... jpg
id = input('Client ID:xx-xxx')
directory = "TrainData/" +str(id)
if not os.path.exists(directory):
os.makedirs(directory)
#with open(os.path.join(directory, '.' +str(id))) #I can't get this to work
file_name_path = directory + str(id)+ '.' +str(count)+ '.' +str(timegm(datetime.utcnow().utctimetuple())) + '.jpg'
if cv2.Laplacian(face, cv2.CV_64F).var() >200:
cv2.imwrite(file_name_path, face)
else:
count -= 1
cv2.imshow('Client', frame)
}
答案 0 :(得分:0)
用于创建目录(如果不存在):
import os
directory = "TrainData/" +str(id)
if not os.path.exists(directory):
os.makedirs(directory)
然后您可以在该目录中打开并创建一个文件。
with open(os.path.join(directory, '.' +str(count)+ '.' +str(timegm(datetime.utcnow().utctimetuple())) + '.jpg' ), "w") as ip_file:
...
答案 1 :(得分:0)
所有缺失的是' + /'。谢谢大家!
id = input('Client ID:xx-xxx')
directory = "TrainData/" +str(id) +'/'
if not os.path.exists(directory):
os.makedirs(directory)
file_name_path = directory +"ID." +str(id)+ '.' +str(count)+ '.' +str(timegm(datetime.utcnow().utctimetuple())) + '.jpg'
if cv2.Laplacian(face, cv2.CV_64F).var() >200:
cv2.imwrite(file_name_path, face)
else:
count -= 1
cv2.imshow('Client', frame)