python os.chdir()不能多次使用?

时间:2017-06-15 14:04:54

标签: python python-3.x

当我第一次使用os.chdir()时,它可以工作,当我再次尝试使用它时,它不会给我一个错误。 已创建以下文件。 ed和123

import os 
os.mkdir('ed')
os.mkdir('123')

现在我想在两者之间做出改变。

import os
os.chdir('ed')

os.chdir('123')

Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
os.chdir('123')
FileNotFoundError: [WinError 2] The system cannot find the file specified: '123'

为什么不让它在两个文件之间进行更改?

2 个答案:

答案 0 :(得分:2)

考虑将os.chdir(some_path)与从终端执行cd some_path相同。除非明确指定绝对路径(从Windows上的驱动器号或Linux上的/开始),否则它会将提供的路径视为相对路径。

<{1> os.chdir('ed') ; os.chdir('123')工作123目录必须是ed的子目录。 在你的情况下它不是,所以你需要:

  1. 提供绝对路径
  2. 在致电os.chdir('123')之前返回一级:

    os.chdir('..')
    os.chdir('123')
    

    甚至

    os.chdir('..{}123'.format(os.path.sep))
    

    请注意使用os.path.sep以避免使用特定于操作系统的路径分隔符。

答案 1 :(得分:2)

创建ed和123文件夹后,这两个文件夹处于同一级别。

var gattservices = await btDevice.GetGattServicesAsync();

以上行将指向您的ed文件夹。

os.chdir('ed') 

您需要使用..导航到父文件夹,然后导航到123文件夹。