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

时间:2017-01-19 03:34:03

标签: python bash shell chdir

有没有办法使用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

1 个答案:

答案 0 :(得分:8)

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

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

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

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