के गैर-तारीख भाग को अनदेखा करें, मैं चित्र फ़ाइल नामों को पार्स करने के लिए डेट्यूटिल का उपयोग कर रहा हूं और उन्हें तिथि के अनुसार क्रमबद्ध करता हूं। चूंकि मेरी सभी तस्वीरों में मेटाडेटा नहीं है, डेटटाइल यह अनुमान लगाने की कोशिश कर रहा है कि उन्हें कहां रखा जाए।पायथन डेट्यूटिल पार्सर, स्ट्रिंग
मेरी तस्वीरें से अधिकांश इस प्रारूप में हैं: 2007-09-10_0001.jpg 2007-09-10_0002.jpg आदि ...
fileName = os.path.splitext(file)[0]
print("Guesssing date from ", fileName)
try:
dateString = dateParser.parse(file, fuzzy=True)
print("Guessed date", dateString)
year=dateString.year
month = dateString.month
day=dateString.day
except ValueError:
print("Unable to determine date of ", file)
वापसी मैं हो रही है यह है:
('Guesssing date from ', '2007-09-10_00005')
('Unable to determine date of ', '2007-09-10_00005.jpg')
अब मुझे अंडरस्कोर के बाद से सब कुछ पट्टी करने में सक्षम होना चाहिए, लेकिन यदि संभव हो तो मैं एक और प्रारूप में चित्रों के मामले में एक और मजबूत समाधान चाहता था। हालांकि मैं अस्पष्ट कोशिश करता हूं और स्ट्रिंग में किसी भी तारीख को ढूंढता हूं और उससे मेल खाता हूं, लेकिन स्पष्ट रूप से काम नहीं कर रहा है ...
क्या पार्सर को किसी तारीख की तरह दिखने और उसके बाद रुकने का कोई आसान तरीका है? यदि नहीं, तो पार्सर को अंडरस्कोर के बाद सब कुछ अनदेखा करने के लिए मजबूर करने का सबसे आसान तरीका क्या है? या अनदेखा अनुभागों के साथ कई दिनांक प्रारूपों को परिभाषित करने का एक तरीका।
धन्यवाद!
अपनी तिथि कम से कम किसी भी तरह से स्वरूपित है? "Yyyy-mm-dd कहीं फ़ाइल नाम में" की तरह? – mishik
मेरा मतलब यह है कि यदि आप दिनांक प्रारूप yyyy-dd-mm या yyyy-mm-dd है तो आप कभी-कभी महीने और दिनांक को अलग करने में सक्षम नहीं होंगे। – mishik
@ मिशिक हां, यह आमतौर पर "2007-09-10_001" के पूर्ण फ़ाइल नाम में "2007-09-10" जैसा कुछ है। अगर मैं स्ट्रिंग से "_001" को शुद्ध करता हूं, तो यह तारीख को ठीक से पहचानता है। – deranjer