语言: 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
PHPz2017-04-17 17:57:52
os.mkdir과 os.makedirs의 차이점은 os.makedirs
이 디렉토리를 재귀적으로 생성한다는 것입니다. 즉, Linux의 mkdir -p
과 유사하게 릴레이된 디렉토리도 함께 생성된다는 것입니다.
os.mkdir
을 사용할 때 제공한 경로 매개변수가 다중 레이어 경로이고 릴레이 디렉터리가 존재하지 않는 경우(예: 위 예의 foo
) Python에서 오류를 보고합니다.
그러나 os.makedirs
을 사용하면 Python이 중간 디렉터리와 함께 생성됩니다. 그러나 한 가지 주목할 만한 점은 경로 끝에 있는 디렉터리가 이미 존재하는 경우 os.makedirs
에서도 예외가 발생한다는 것입니다.
여기에 문제가 있는 것 같습니다. 처음에 home
디렉터리가 있는지 확인할 수 있습니다.
여기서 경로 식별은 Python 인터프리터를 시작하는 위치에 따라 달라집니다. 즉, python
를 피하려면 home
을 실행하는 디렉터리 아래에 os.mkdir
가 있어야 합니다. > 오류.