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

Ser*_*raf 3 python bash shell chdir

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

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

def cd(args):
    os.chdir(args[0])
    return current_status
Run Code Online (Sandbox Code Playgroud)

我想改变的

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
Run Code Online (Sandbox Code Playgroud)

Die*_*Epp 8

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

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

def cd(path):
    os.chdir(os.path.expanduser(path))
Run Code Online (Sandbox Code Playgroud)

请注意,这也将扩展~user到主目录user.