क्या करना चाहिए था
आपको home=os.path.expanduser("~")
पहले और फिर प्रदर्शन करना चाहिए था os.path.join(home,"something")
। ~
अजगर में पाठ के रूप में व्यवहार किया जाता है और विस्तार नहीं करता है जैसे कि यह में करता है bash
या अन्य गोले।
$ python -c 'import os;home=os.path.expanduser("~"); os.mkdir(os.path.join(home,"something"))'
$ ls -ld ~/something
drwxrwxr-x 2 xieerqi xieerqi 4096 7月 12 21:00 /home/xieerqi/something/
मैं इससे छुटकारा कैसे पाऊं
पहले से ही बताए गए तरीकों के अलावा, हम ~
वर्णों की एसेसी तालिका से हेक्स मान का उपयोग कर सकते हैं , जो वास्तविक के विपरीत ~
कमांड लाइन पर उपयोगकर्ता के होम डायरेक्टरी में विस्तार नहीं करता है (आप जिस स्थिति में सोच रहे हैं, जब शुरुआत में टिल्ड दिखाई देता है एक शब्द, यह उपयोगकर्ता की होम निर्देशिका में फैलता है। तुलना करें ls ~
और ls $'\x7e'
)।
यहां बताया गया है कि यह कैसे काम करेगा:
# Make the directory
$ mkdir ./~
$ stat ./$'\x7e'
File: './~'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 5768019 Links: 2
Access: (0775/drwxrwxr-x) Uid: ( 1000/ xieerqi) Gid: ( 1000/ xieerqi)
Access: 2017-07-12 21:05:31.382828424 -0600
Modify: 2017-07-12 21:05:31.382828424 -0600
Change: 2017-07-12 21:05:31.382828424 -0600
Birth: -
# and remove it
$ rmdir ./$'\x7e'
$ ls $'\x7e'
ls: cannot access '~': No such file or directory