मुझे dir2 के अंदर dir1 (फ़ाइल या निर्देशिका) के प्रत्येक आइटम के लिए एक सिम्लिंक बनाने की आवश्यकता है। dir2 पहले से मौजूद है और एक सिम्लिंक नहीं है।`os.symlink` बनाम 'ln -s`
>>> os.symlink('/home/guest/dir1/*', '/home/guest/dir2/')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 17] File exist
मैं जानता हूँ कि मैं subprocess
का उपयोग करें और ln
आदेश चला सकते हैं: मैं कोई त्रुटि मिलती है
ln -s /home/guest/dir1/* /home/guest/dir2/
लेकिन अजगर में os.symlink का उपयोग कर: बैश में मैं आसानी से इस लक्ष्य को हासिल कर सकते हैं। मुझे वह समाधान नहीं चाहिए।
मुझे यह भी पता है कि os.walk
या glob.glob
का उपयोग कर कामकाज संभव है, लेकिन मैं जानना चाहता हूं कि os.symlink
का उपयोग करके ऐसा करना संभव है या नहीं।
मुझे लगता है कि * 'os.symlink' संबंधित सिस्टम कॉल की एक मात्र आवरण है (ठीक है, कम या ज्यादा) और इसलिए एक ही अर्थ विज्ञान आप एक पूर्ण से प्राप्त प्रदान नहीं करेगी * उस सिस्टम कॉल का उपयोग कर बढ़ी उपयोगिता। – 0xC0000022L
"os.symlink'" आवश्यकता का उपयोग करके मैं इसे करना चाहता हूं? यदि सही काम करना 'ग्लोब' पर 'लूप' है, तो आप सही चीज़ क्यों नहीं करना चाहते हैं? – abarnert
@abarnert मैं ऐसा करूँगा यदि मुझे करना है। मैं जानना चाहता था कि 'os.symlink' के साथ ऐसा करने का कोई तरीका है या नहीं। मैंने सोचा कि यह सब कुछ 'ln -s' प्रदान करेगा, लेकिन यह पता चला है कि यह नहीं करता है। – jurgenreza