os.chdir() 到相对主目录 (/home/usr/)

os.chdir() to relative home directory (/home/usr/)

有没有办法使用 os.chdir() 转到相关用户文件夹?

我正在制作一个 bash,我发现的唯一问题是 cd ~arg[0] 未定义,因为我正在使用此 cd 函数:

def cd(args):
    os.chdir(args[0])
    return current_status

我想改成

def cd(args):
    if args[0] == '~':
        os.chdir('/home/') 
# Here I left it to /home/ since I don't know how 
# to get the user's folder name
    else:
        os.chdir(args[0])
    return current_status

不,os.chdir 不会那样做,因为它只是系统调用的薄包装。考虑 ~ 实际上是目录的合法名称。

但是,您可以使用 os.expanduser 在路径中扩展 ~

def cd(path):
    os.chdir(os.path.expanduser(path))

请注意,这也会将 ~user 扩展到 user 的主目录。