我遇到以下 Python 代码的问题,该代码旨在使用
os.chdir
更改工作目录:
if command.startswith("cd"): #C:\Users\užívateľ\Desktop\File Manager\File Manager\task\module\root_folder
command = command[3:] #input cd task
os.chdir(command) # command [3:] is task
print(os.getcwd()) #os.chdir(command) FileNotFoundError: [WinError 2] The system cannot find the file specified: 'task'
代码抛出
FileNotFoundError
,并显示消息“系统找不到指定的文件:‘任务’”。
C:\Users\užívateľ\Desktop\File Manager\File Manager\task
task
我可以问在哪里修复代码,以便它正确更改工作目录并打印所需的路径(绝对或相对)吗?
问题是 python 正在当前目录中查找任务文件夹,而任务文件夹位于父目录之一中,因此您必须告诉 python 继续搜索文件夹并返回,直到找到正确的目录。 os.chdir 不能用作绝对文件夹搜索器。我创建了一个函数来进行搜索,但这只能向后搜索。我希望这有效
command = 'cd task'
if command.startswith("cd"):
command = command[3:]
def find_folder(folder):
current_directory = os.getcwd()#current folder
# Check if task is in the folder
if folder in os.listdir(current_directory):
return os.chdir(folder)
else:
os.chdir('..')#Go back one folder
#recall the function to do a loop
return find_folder(folder)
find_folder(command)
print(os.getcwd())