前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python | 常见场景】最佳实践系列 —— 各种场景及运用(适合下饭刷)

【Python | 常见场景】最佳实践系列 —— 各种场景及运用(适合下饭刷)

作者头像
计算机魔术师
发布2023-12-01 09:55:18
1430
发布2023-12-01 09:55:18
举报
文章被收录于专栏:计算机魔术师计算机魔术师
在这里插入图片描述
在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍 🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)

该文章收录专栏 [✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]

@toc

subprocess 模块

subprocess模块是Python标准库中用于创建和管理子进程的模块。它提供了一种执行外部命令、与其交互、获取输出等操作的方式。以下是subprocess模块的一些常用功能和用法:

运行外部命令: ``subprocess模块允许您在Python程序中执行外部命令。您可以使用subprocess.run()`函数来运行命令,并等待命令执行完成。例如:

代码语言:javascript
复制
import subprocess

result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
print(result.stdout)
```

上述代码在Unix/Linux系统上运行`ls -l`命令,并将输出打印到标准输出。

与子进程交互: ``subprocess模块还允许您与子进程进行交互,发送输入并获取输出。您可以使用subprocess.Popen`类来创建子进程对象,并使用它的方法进行交互。例如:

代码语言:javascript
复制
import subprocess

process = subprocess.Popen(["python"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, text=True)
process.stdin.write("print('Hello, subprocess!')\n")
process.stdin.close()

output = process.stdout.read()
print(output)
```

上述代码创建一个Python子进程,向其发送一段代码,并获取其输出。

错误处理: ``subprocess模块还提供了处理子进程中的错误和异常的功能。您可以通过检查subprocess.CompletedProcess`对象的属性来获取命令的执行结果、返回码和输出。例如:

代码语言:javascript
复制
import subprocess

try:
    result = subprocess.run(["command_not_exist"], capture_output=True, text=True)
    result.check_returncode()  # 检查返回码
except subprocess.CalledProcessError as e:
    print(f"Command execution failed: {e}")
```

上述代码捕获了`subprocess.CalledProcessError`异常,并打印出命令执行失败的信息。

其他功能: ``subprocess`模块还提供了其他一些功能,如控制子进程的输入、输出和错误流、设置超时、在后台运行进程等。您可以查阅官方文档以了解更多详细信息。

请注意,使用subprocess模块时需要小心处理输入和命令参数,以避免潜在的安全风险(如命令注入)。建议使用参数列表形式来传递命令和参数,而不是通过字符串拼接。

以上是subprocess模块的一些基本用法,它提供了执行外部命令和与子进程交互的功能。对于更复杂的用例,建议查阅官方文档以获取更多详细信息和示例。

jupyter notebook 切换内核

要在 Jupyter Notebook 中创建新文件时选择特定的虚拟环境内核,可以按照以下步骤进行操作:

步骤 1: 激活虚拟环境 在开始之前,确保已经激活了你想要在 Jupyter Notebook 中使用的虚拟环境。根据你使用的虚拟环境管理工具,执行相应的命令来激活虚拟环境。

对于 virtualenv,使用以下命令激活虚拟环境:

代码语言:javascript
复制
source myenv/bin/activate

对于 conda,使用以下命令激活虚拟环境:

代码语言:javascript
复制
conda activate myenv

步骤 2: 安装 ipykernel 确保你的虚拟环境处于激活状态后,安装 ipykernel 包。使用以下命令:

代码语言:javascript
复制
pip install ipykernel

或者,如果你使用的是 conda,则使用以下命令:

代码语言:javascript
复制
conda install ipykernel

步骤 3: 添加虚拟环境内核到 Jupyter 运行以下命令,将你的虚拟环境添加到 Jupyter Notebook 中:

代码语言:javascript
复制
python -m ipykernel install --user --name=myenv --display-name "My Virtual Environment"

确保将 myenv 替换为你的虚拟环境的名称,并将 "My Virtual Environment" 替换为你想要显示的内核名称。

步骤 4: 启动 Jupyter Notebook 现在,你可以启动 Jupyter Notebook。在终端中运行以下命令:

代码语言:javascript
复制
jupyter notebook

这将在浏览器中打开 Jupyter Notebook。在创建新 Notebook 之前,点击右上角的 “New” 按钮,在下拉菜单中你应该能够看到你之前添加的虚拟环境内核名称。选择它,然后将使用你的虚拟环境作为内核来创建新 Notebook。

这样,你就可以在 Jupyter Notebook 中选择你的虚拟环境内核来创建新文件了。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • subprocess 模块
  • jupyter notebook 切换内核
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档