Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

यूनिक्स फ़ाइल नाम पैटर्न पायथन में मेल खाता है

यहां हम देखेंगे कि हम पायथन का उपयोग करके यूनिक्स शैल शैली पैटर्न मिलान तकनीक कैसे प्राप्त कर सकते हैं। fnmatch . नामक एक मॉड्यूल है , जो काम करने के लिए प्रयोग किया जाता है। इस मॉड्यूल का उपयोग फ़ाइल नाम की किसी पैटर्न से तुलना करने के लिए किया जाता है, फिर मिलान के अनुसार सही या गलत लौटाता है।

इसका उपयोग करने के लिए सबसे पहले हमें इसे fnmatch . आयात करना होगा मानक पुस्तकालय मॉड्यूल।

fnmatch आयात करें

यूनिक्स टर्मिनल में, पैटर्न से मेल खाने के लिए कुछ वाइल्डकार्ड हैं। ये नीचे की तरह हैं -

  • ‘*’ तारक का प्रयोग हर चीज से मेल खाने के लिए किया जाता है।
  • '?' प्रश्न चिह्न एकल वर्ण के मिलान के लिए है।
  • [seq] वर्णों का क्रम से मिलान करने के लिए अनुक्रमों का उपयोग किया जाता है
  • [!seq] नॉट इन सीक्वेंस का उपयोग उन वर्णों से मिलान करने के लिए किया जाता है जो अनुक्रम में मौजूद नहीं हैं।

यदि हम वर्ण के रूप में तारांकन या प्रश्न चिह्न खोजना चाहते हैं, तो हमें उनका उपयोग इस तरह करना होगा:[*] या [?]

fnmatch()विधि

fnmatch() विधि दो तर्क लेती है, ये फ़ाइल नाम और पैटर्न हैं। इस फ़ंक्शन का उपयोग यह जांचने के लिए किया जाता है कि फ़ाइल नाम दिए गए पैटर्न से मेल खाता है या नहीं। जब ऑपरेटिंग सिस्टम केस संवेदी होता है, तो मिलान से पहले पैरामीटर को अपरकेस या लोअरकेस अक्षर में सामान्यीकृत किया जाएगा।

उदाहरण कोड

आयात fnmatchimport osfile_pattern ='test_f*'files =os.listdir('./unix_files')फ़ाइलों में फ़ाइल नाम के लिए:प्रिंट('फ़ाइल:{}\t:{}'.format(filename, fnmatch.fnmatch( फ़ाइल नाम, file_pattern)))

आउटपुट

$ python3 310.UNIX_filename.pyFile:test_file5.txt:TrueFile:test_file2.png:TrueFile:test_file1.txt:TrueFile:Other_file.txt:FalseFile:TEST_FILE4.txt:FalseFile:abc.txt:FalseFile:test_file3.txt :सच$

फ़िल्टर() विधि

फ़िल्टर () विधि भी दो पैरामीटर लेती है। पहला नाम है, और दूसरा पैटर्न है। यह पैटर्न सभी फ़ाइल नामों की सूची से मेल खाने वाले फ़ाइल नामों की सूची ढूंढता है।

उदाहरण कोड

आयात करें nमिलान की गई फ़ाइलें:' + str(match_file))

आउटपुट

$ python3 310.UNIX_filename.pyसभी फ़ाइलें:['test_file5.txt', 'test_file2.png', 'test_file1.txt', 'another_file.txt', 'TEST_FILE4.txt', 'abc.txt', ' test_file3.txt']मिलान की गई फ़ाइलें:['test_file5.txt', 'test_file2.png', 'test_file1.txt', 'test_file3.txt']$

अनुवाद () विधि

अनुवाद () विधि एक पैरामीटर लेती है। पैरामीटर एक पैटर्न है। हम पाइथन में रेगुलर एक्सप्रेशन का उपयोग करके मिलान करने के लिए शेल स्टाइल पैटर्न को दूसरे प्रकार के पैटर्न में बदलने के लिए इस फ़ंक्शन का उपयोग कर सकते हैं।

उदाहरण कोड

आयात fnmatch, refile_pattern ='test_f*.txt'unix_regex =fnmatch.translate(file_pattern)regex_object =re.compile(unix_regex) प्रिंट ('नियमित अभिव्यक्ति:' + str(unix_regex)) प्रिंट ('मैच ऑब्जेक्ट:' + str(regex_object.match('test_file_abcd123.txt')))

आउटपुट

$ python3 310.UNIX_filename.pyRegular Expression:(?s:test_f.*\.txt)\ZMatch Object:<_sre.SRE_Match object; अवधि=(0, 21), मैच='test_file_abcd123.txt'>$

  1. पायथन में पैटर्न कैसे प्रिंट करें?

    नेस्टेड फॉर लूप्स का उपयोग करके पायथन में पैटर्न मुद्रित किए जा सकते हैं। बाहरी लूप का उपयोग पंक्तियों की संख्या के माध्यम से पुनरावृति करने के लिए किया जाता है जबकि आंतरिक लूप का उपयोग स्तंभों की संख्या को संभालने के लिए किया जाता है। आवश्यकता के अनुसार विभिन्न पैटर्न बनाने के लिए प्रिंट स्टेटमेंट

  1. पायथन में फाइलोटैक्सिस पैटर्न?

    फाइलोटैक्सिस पैटर्न क्या है? जब हम वापस जाते हैं, तो हमारे वनस्पति विज्ञान वर्गों और पौधों की दुनिया में, फ़ाइलोटैक्सिस का अर्थ है पौधों के तने पर फूलों, पत्तियों या बीजों की व्यवस्था, जैसा कि फाइबोनैचि सर्पिल में पाया जाता है। फाइबोनैचि अनुक्रम के आधार पर, फाइबोनैचि सर्पिल संख्याओं का एक समूह है ज

  1. रूबी में पैटर्न मिलान का परिचय

    आइए रूबी में पैटर्न मिलान के बारे में एक संक्षिप्त चर्चा के साथ शुरू करें, यह क्या करता है, और यह कैसे कोड पठनीयता को बेहतर बनाने में मदद कर सकता है। यदि आप कुछ साल पहले मेरे जैसे कुछ हैं, तो आप इसे रेगेक्स में पैटर्न मिलान के साथ भ्रमित कर सकते हैं। यहां तक ​​कि बिना किसी अन्य संदर्भ के पैटर्न मिल