Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中如何解决操作系统模块路径错误_Python_Module - Fatal编程技术网

Python中如何解决操作系统模块路径错误

Python中如何解决操作系统模块路径错误,python,module,Python,Module,我从上周开始学习python。我只是在学习模块,使用操作系统模块,我编写了一个程序,要求用户访问他们想要访问的磁盘驱动器,并打印驱动器内的所有文件夹,然后再次要求用户在其中选择一个文件夹并访问该文件夹,然后重复该过程。它工作正常,但它只访问顶级目录和其中的一个目录。发生错误后,表示路径不存在,但错误消息中显示的实际路径有效。请帮助我。 我的计划是: import os def fun(path1,path2): p1=os.path.join(path1,path2) os.ch

我从上周开始学习python。我只是在学习模块,使用操作系统模块,我编写了一个程序,要求用户访问他们想要访问的磁盘驱动器,并打印驱动器内的所有文件夹,然后再次要求用户在其中选择一个文件夹并访问该文件夹,然后重复该过程。它工作正常,但它只访问顶级目录和其中的一个目录。发生错误后,表示路径不存在,但错误消息中显示的实际路径有效。请帮助我。 我的计划是:

import os
def fun(path1,path2):
    p1=os.path.join(path1,path2)
    os.chdir(p1)
    print('currently in ',p1)
    print('folders currently in this directories are:')
    print(next(os.walk('.'))[1])
    p2=input('which folder you wanna access among these:')
    fun(p1,p2)
x=input('which drive you wanna access:')
fun(x,path2='')
不要
os.chdir()
,否则相对路径
p1
将无法在初始工作目录之外工作

说明:假设您从
/home/you
开始,希望访问
/home/you/some/folder
。在第一步中,您选择
some
,当前目录更改为
/home/you/some
,然后您选择
文件夹
,该文件夹与一些文件夹连接,因此从目录
/home/you/some
尝试
chdir()
进入不存在的
一些文件夹

p1
传递给
os.walk()

def fun(path1,path2):
    p1=os.path.join(path1,path2)
    print('currently in ',p1)
    print('folders currently in this directories are:')
    print(next(os.walk(p1))[1])
    p2=input('which folder you wanna access among these:')
    fun(p1,p2)

如果没有os.chdir(),是否可以访问除初始目录以外的其他目录?…我尝试了,但它仅停留在初始目录上,并且仅显示初始目录中的文件夹:(在我删除chdir并将print(next(os.walk('.'))[1])更改为print(next(os.walk(p1))[1])。谢谢,但我仍然不知道它是如何工作的