ฉันต้องการรับตำแหน่งของโฮมไดเร็กทอรีของผู้ใช้ที่ล็อกออนปัจจุบัน ขณะนี้ฉันใช้สิ่งต่อไปนี้บน Linux:
os.getenv("HOME")
อย่างไรก็ตามสิ่งนี้ใช้ไม่ได้กับ Windows วิธีการข้ามแพลตฟอร์มที่ถูกต้องในการทำเช่นนี้คืออะไร?
ฉันต้องการรับตำแหน่งของโฮมไดเร็กทอรีของผู้ใช้ที่ล็อกออนปัจจุบัน ขณะนี้ฉันใช้สิ่งต่อไปนี้บน Linux:
os.getenv("HOME")
อย่างไรก็ตามสิ่งนี้ใช้ไม่ได้กับ Windows วิธีการข้ามแพลตฟอร์มที่ถูกต้องในการทำเช่นนี้คืออะไร?
คำตอบ:
คุณต้องการที่จะใช้os.path.expanduser
สิ่งนี้จะช่วยให้มั่นใจได้ว่ามันทำงานได้บนทุกแพลตฟอร์ม
from os.path import expanduser
home = expanduser("~")
หากคุณใช้Python 3.5+คุณสามารถใช้pathlib.Path.home () :
from pathlib import Path
home = str(Path.home())
pathlib.Path.home()
สามารถใช้ได้จาก Python3.5 เป็นต้นไป ( docs.python.org/3/library/pathlib.html#pathlib.Path.home )
os.path.expanduser('~username')
ใช้ได้ อาจใช้ได้กับ Linux เท่านั้น
str
) หากคุณต้องการให้พา ธ เป็นสตริงทั้งคู่ก็ทำเช่นเดียวกัน
นี่คือวิธี linux cd .. หากคุณต้องการใช้แทนหมายเหตุ: (หากคุณอยู่ในไดเรกทอรีย่อยจะนำไปที่ไดเร็กทอรี)