python-sphinx - Sphinx -python3 -m http.server - FileNotFoundError: [Errno 2] 没有这样的文件或目录
问题描述
我的问题- 如何找出丢失的文件/目录?
Python3 http 服务器在本地为 Sphinx html 文件提供服务,但突然停止为它们提供服务-我在终端中收到此错误-不确定缺少哪个文件/目录?
/pycon-sphinx-tutorial/crawler/docs/_build/html$ python3 -m http.server 8989
Serving HTTP on 0.0.0.0 port 8989 ...
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 60996)
Traceback (most recent call last):
File "/usr/lib/python3.5/socketserver.py", line 313, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python3.5/socketserver.py", line 341, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python3.5/socketserver.py", line 354, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python3.5/socketserver.py", line 681, in __init__
self.handle()
File "/usr/lib/python3.5/http/server.py", line 422, in handle
self.handle_one_request()
File "/usr/lib/python3.5/http/server.py", line 410, in handle_one_request
method()
File "/usr/lib/python3.5/http/server.py", line 645, in do_GET
f = self.send_head()
File "/usr/lib/python3.5/http/server.py", line 669, in send_head
path = self.translate_path(self.path)
File "/usr/lib/python3.5/http/server.py", line 785, in translate_path
path = os.getcwd()
FileNotFoundError: [Errno 2] No such file or directory
----------------------------------------
^C
Keyboard interrupt received, exiting.
dhankar@dhankar-VPCEB44EN:/media/dhankar/Dhankar_1/a5_test_sphinx/pycon-sphinx-tutorial/crawler/docs/_build/html$ cd ..
dhankar@dhankar-VPCEB44EN:/media/dhankar/Dhankar_1/a5_test_sphinx/pycon-sphinx-tutorial/crawler/docs/_build$ ls -ltr
total 8
drwxrwxr-x 2 dhankar dhankar 4096 Oct 30 00:19 doctrees
drwxrwxr-x 4 dhankar dhankar 4096 Oct 30 00:19 html
dhankar@dhankar-VPCEB44EN:/media/dhankar/Dhankar_1/a5_test_sphinx/pycon-sphinx-tutorial/crawler/docs/_build$ cd html
dhankar@dhankar-VPCEB44EN:/media/dhankar/Dhankar_1/a5_test_sphinx/pycon-sphinx-tutorial/crawler/docs/_build/html$ ls -ltr
total 36
-rw-rw-r-- 1 dhankar dhankar 3849 Oct 30 00:19 index.html
-rw-rw-r-- 1 dhankar dhankar 3346 Oct 30 00:19 install.html
-rw-rw-r-- 1 dhankar dhankar 3694 Oct 30 00:19 support.html
drwxrwxr-x 2 dhankar dhankar 4096 Oct 30 00:19 _sources
-rw-rw-r-- 1 dhankar dhankar 2629 Oct 30 00:19 genindex.html
-rw-rw-r-- 1 dhankar dhankar 3120 Oct 30 00:19 search.html
drwxrwxr-x 2 dhankar dhankar 4096 Oct 30 00:19 _static
-rw-rw-r-- 1 dhankar dhankar 979 Oct 30 00:19 searchindex.js
-rw-rw-r-- 1 dhankar dhankar 295 Oct 30 00:19 objects.inv
dhankar@dhankar-VPCEB44EN:/media/dhankar/Dhankar_1/a5_test_sphinx/pycon-sphinx-tutorial/crawler/docs/_build/html$
解决方案
如您所见,异常正在从os.getcwd()
. 这表明您或其他一些进程在服务器运行时删除了您提供文件的目录。如果您当前的工作目录被删除,那么后续调用os.getcwd()
将 raise FileNotFound
。例如:
>>> import os
>>> os.mkdir('a')
>>> os.chdir('a')
>>> os.getcwd()
'/blah/blah/blah/a'
>>> os.rmdir(os.getcwd())
>>> os.getcwd()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory
所以我想,不要那样做。
推荐阅读
- python - 打包一个使用多个python版本的项目
- java - 创建一个类的数组,将数组中的单个值作为参数传递
- bash - 如何缩短读取千行文件的时间处理 - bash脚本?
- c - 客户端关闭后接受新连接(C,winsock2)
- javascript - Cordova 运行后缺少一些 JS 代码
- ios - 在 Xcode 10 beta 上运行后 UICollectionViewCell 内的 UIStackView 自动布局问题
- r - 如何将当前行的负值转移到数据框中的前一行?
- python - Pandas Python中的多柱形图
- r - 融化后ggplot2中关系方向性的变化
- python - 在 django.shortcuts.render 和 django.views.generic.TemplateView 之间进行选择