python - os.mkdir() 和 os.makedirs() 的区别
PHPz
PHPz 2017-04-17 17:55:52
0
1
606
  • 语言: Python2.7

  • IDE: Pycharm

  • os: Linux

用Python做的 爬虫:

  • 第一个建立在 project folder 下用 os.mkdir('home/img/') 创建文件夹存储数据,文件夹正常建立

  • 第二个加入RedisQueue,爬虫程序放在 /usr/lib/python2.7, rq 主体放在 project folder下面, 在爬虫程序里面用 os.mkdir('home/img/') 报错,用 os.makedirs('home/img/') 正常建立。

为什么第一个没有报错?

thx in advance

PHPz
PHPz

学习是最好的投资!

모든 응답(1)
PHPzhong

os.mkdir과 ​​os.makedirs의 차이점은 os.makedirs이 디렉토리를 재귀적으로 생성한다는 것입니다. 즉, Linux의 mkdir -p과 유사하게 릴레이된 디렉토리도 함께 생성된다는 것입니다.

으아아아

os.mkdir을 사용할 때 제공한 경로 매개변수가 다중 레이어 경로이고 릴레이 디렉터리가 존재하지 않는 경우(예: 위 예의 foo) Python에서 오류를 보고합니다.

그러나 os.makedirs을 사용하면 Python이 중간 디렉터리와 함께 생성됩니다. 그러나 한 가지 주목할 만한 점은 경로 끝에 있는 디렉터리가 이미 존재하는 경우 os.makedirs에서도 예외가 발생한다는 것입니다.


여기에 문제가 있는 것 같습니다. 처음에 home 디렉터리가 있는지 확인할 수 있습니다.

여기서 경로 식별은 Python 인터프리터를 시작하는 위치에 따라 달라집니다. 즉, python를 피하려면 home을 실행하는 디렉터리 아래에 os.mkdir가 있어야 합니다. > 오류.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿