如何在Jupyter Notebook中自动读取localhost URL及端口号?
在Jupyter Notebook中自动获取端口号的方法
方法1:读取内置环境变量
Jupyter启动时会自动设置环境变量,直接读取即可快速获取端口号:
import os port = os.environ.get('JUPYTER_PORT') if port: print(f"当前端口号:{port}") else: print("未检测到Jupyter运行环境")
这种方式简单高效,绝大多数场景下都能正常工作。
方法2:匹配当前服务器实例获取完整URL
如果需要获取完整的localhost访问地址,或者遇到环境变量未设置的情况,可以通过遍历运行中的Jupyter服务器,匹配当前Notebook所在目录来定位目标服务器:
import os from notebook.notebookapp import list_running_servers for server in list_running_servers(): # 匹配当前Notebook所在的工作目录 if server['notebook_dir'] == os.getcwd(): full_url = server['url'] port = full_url.split(':')[2].split('/')[0] print(f"完整访问URL:{full_url}") print(f"端口号:{port}") break
这个方法能精准定位到当前Notebook对应的服务器,适合同时运行多个Jupyter实例的场景。
补充说明
- 确保环境已安装
notebook包(默认Jupyter环境自带,若缺失可执行pip install notebook安装); - 旧版Jupyter可能不支持
JUPYTER_PORT环境变量,此时方法2可作为替代方案。
内容的提问来源于stack exchange,提问作者lololololol
相关产品推荐
相关产品推荐

