मेरे पास टीजीजेड प्रारूप में कई फाइलें हैं जिनमें टैर फाइलें हैं, और टैर फाइलों में स्वयं में txt फाइलें होती हैं। मैं डेटाब्रिक्स में पायथन (3.x यदि संभव हो तो) का उपयोग करके उन्हें पहले टैर और फिर txt प्रारूप (या यदि संभव हो तो तुरंत txt करने के लिए निकालना चाहता हूं) निकालना चाहता हूं।
मैं प्रयास कर चुका हूं
tar = tarfile.open('/dbfs/mnt/mountingPoint/InputFolder/filename.tgz', 'r:gz')
tar.extractall()
tar.close()
लेकिन भले ही यह कोई त्रुटि नहीं देता है, मुझे कोई फाइल नहीं मिलती है। मैं इस विषय के बारे में सभी मौजूदा पोस्टों के माध्यम से चला गया लेकिन वे मददगार नहीं थे।
मैंने भी कोशिश की:
%sh find $/dbfs/mnt/mountingPoint/InputFolder/ -name *.tar.gz -exec tar -xvzf {} -C $/dbfs/mnt/mountingPoint/OututFolder/ \;
और मुझे निम्न त्रुटि मिलती है:
find: ‘$/dbfs/mnt/mountingPoint/InputFolder/’: No such file or directory
मुझे यूनिक्स/लिनक्स के साथ ज्यादा अनुभव नहीं है, इसलिए शायद वहां एक मूर्खतापूर्ण त्रुटि है, क्योंकि फ़ाइल और निर्देशिका निश्चित रूप से वहां हैं।
मैंने बहुत शोध किया है लेकिन उनमें से कोई भी मेरे उपयोग के मामले से मेल नहीं खाता है। किसी भी मदद की अत्यधिक सराहना की जाएगी, अग्रिम धन्यवाद।
1 उत्तर
मैंने tar.extractall() में एक आउटपुट फ़ोल्डर जोड़ा और अब यह काम करता है।
import tarfile
tar = tarfile.open('/dbfs/mnt/mountingPoint/InputFolder/filename.tgz', 'r:gz')
tar.extractall('/dbfs/mnt/mountingPoint/OutputFolder/')
tar.close()
यदि आप फ़ाइलों को एक-एक करके निकालना चाहते हैं, तो दूसरा समाधान यह होगा:
for member in tar.getmembers():
extracted_f = tar.extract(member, '/dbfs/mnt/mountingPoint/OutputFolder/')
लेकिन फिर भी, अगर किसी के पास शेल सेक्शन का समाधान है, तो मुझे जानना अच्छा लगेगा।
संबंधित सवाल
नए सवाल
python-3.x
पायथन प्रोग्रामिंग के बारे में प्रश्नों के लिए जो भाषा के संस्करण 3+ के लिए विशिष्ट हैं। सभी पायथन सवालों पर अधिक जेनेरिक [अजगर] टैग का उपयोग करें, और केवल यह जोड़ें यदि आपका प्रश्न संस्करण-विशिष्ट है। पायथन 2 प्रश्नों के लिए [अजगर -2] टैग का उपयोग करें।