สิ่งที่ควรทำ
คุณควรจะได้ดำเนินการเป็นครั้งแรกแล้ว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/
วิธีกำจัดมัน
นอกเหนือจากวิธีการที่กล่าวถึงแล้วเราสามารถใช้ค่าฐานสิบหกสำหรับ~จากตารางอักขระ ASCII ซึ่งแตกต่างจากที่เกิดขึ้นจริง~ไม่ขยายไปยังไดเรกทอรีบ้านของผู้ใช้ในบรรทัดคำสั่ง (ในกรณีที่คุณสงสัยว่าเมื่อตัวหนอนปรากฏที่จุดเริ่มต้นของ คำจะขยายไปยังโฮมไดเร็กตอรี่ของผู้ใช้เปรียบเทียบ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