अगर मेरे पास इनमें से एक जैसा फ़ाइल नाम है:
1.1.1.1.1.jpg
1.1.jpg
1.jpg
बिना विस्तार के मुझे केवल नाम कैसे मिल सकता है? क्या एक रेगेक्स उचित होगा?
अगर मेरे पास इनमें से एक जैसा फ़ाइल नाम है:
1.1.1.1.1.jpg
1.1.jpg
1.jpg
बिना विस्तार के मुझे केवल नाम कैसे मिल सकता है? क्या एक रेगेक्स उचित होगा?
जवाबों:
ज्यादातर मामलों में, आपको उसके लिए एक regex का उपयोग नहीं करना चाहिए।
os.path.splitext(filename)[0]
यह भी .bashrcपूरा नाम रखकर सही ढंग से फ़ाइल नाम को संभाल लेगा ।
basename[:-len(".tar.gz")]।
git-1.7.8.tar। सही तरीके से यह अनुमान लगाने का कोई तरीका नहीं है कि कॉलर कितने डॉट्स बंद करना चाहता है, इसलिए splitext()केवल आखिरी स्ट्रिप्स है। यदि आप किनारे-मामलों को संभालना चाहते हैं .tar.gz, तो आपको इसे हाथ से करना होगा। जाहिर है, आप सभी बिंदुओं को छीन नहीं सकते, क्योंकि आप के साथ समाप्त हो जाएगा git-1।
>>> import os
>>> os.path.splitext("1.1.1.1.1.jpg")
('1.1.1.1.1', '.jpg')
फ़ाइल नाम प्राप्त करने के लिए आप स्टेम विधि का उपयोग कर सकते हैं ।
यहाँ एक उदाहरण है:
from pathlib import Path
p = Path(r"\\some_directory\subdirectory\my_file.txt")
print(p.stem)
# my_file