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