更改当前目录并查看可用目录

这不是重复的,因为原始答案无助于将其实现到我的原始输入命令解释器中。归功于原始问题/答案。


所以我正在用 python 开发 DOS 风格的操作系统,我想知道如何或者甚至是否可以执行一个命令,让我像常规命令提示符那样在目录之间切换。


我不确定我对自己的解释有多好,但基本上我会使用与cd终端相同的命令,这样我就可以读取文件夹中嵌入的文件,在文件夹之间切换等。我不需要对它的复杂程度进行任何限制,但是如果它不是太长,我会更喜欢。


我还没有找到一个明确的解决方案。在最好的情况下,这就是您需要输入的全部内容


cd folder1

cd folderinfolder1

这将被输入到 araw input或 ainput然后执行,所以我假设它需要拆分,所以它知道在空间之前和空间cd之后有文件名,例如folder 我也有os.listdir只使用显示文件的问题,而不是任何文件夹。


它会像这样使用


directory=raw_input("enter cd followed with a directory")


这个问题可能有点多,甚至不确定是否可能


元芳怎么了
浏览 136回答 2
2回答

大话西游666

import osos.chdir('folder1')或者os.chdir('folderinfolder1')

皈依舞

除了在创建 shell 时使用C之外,我已经这样做了,在我的例子中,我使用了一个带有chdir函数的库,它看起来像这样:static void min_cmd_cd_av(char *av, char ***env){&nbsp; &nbsp; char&nbsp; &nbsp; *tmp;&nbsp; &nbsp; if (av && 0 == chdir(av))&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; tmp = min_env_get_val(env, "PWD=");&nbsp; &nbsp; &nbsp; &nbsp; min_env_set_path(env, "OLDPWD=", tmp);&nbsp; &nbsp; &nbsp; &nbsp; free(tmp);&nbsp; &nbsp; &nbsp; &nbsp; tmp = (char *)ft_memalloc(4098 * sizeof(char *));&nbsp; &nbsp; &nbsp; &nbsp; getcwd(tmp, 4098);&nbsp; &nbsp; &nbsp; &nbsp; min_env_set_path(env, "PWD=", tmp);&nbsp; &nbsp; &nbsp; &nbsp; ft_strdel(&tmp);&nbsp; &nbsp; }&nbsp; &nbsp; else&nbsp; &nbsp; &nbsp; &nbsp; ft_printf("\e[91mERROR: Invalid Path/Permissions\e[96m\n");}int&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;min_cmd_cd(int ac, char **av, char ***env){&nbsp; &nbsp; char&nbsp; &nbsp; *tmp;&nbsp; &nbsp; if (ac <= 1)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; tmp = min_env_get_val(env, "HOME=");&nbsp; &nbsp; &nbsp; &nbsp; if (tmp)&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; min_cmd_cd_av(tmp, env);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ft_strdel(&tmp);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; else&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ft_printf("\e[91mERROR: Home variable not found!\e[96m\n");&nbsp; &nbsp; }&nbsp; &nbsp; else if (ac > 1)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; min_shell_path(&av, env);&nbsp; &nbsp; &nbsp; &nbsp; min_cmd_cd_av(av[1], env);&nbsp; &nbsp; }&nbsp; &nbsp; return (0);}我使用 shell 环境来更新 PWD 和 OLDPWD,这也允许您将其实现到您的 shell 中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python