首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从python打开一个新的bash窗口并将命令插入到新的bash窗口中

从 Python 打开一个新的 Bash 窗口并将命令插入到新的 Bash 窗口中需要使用 Python 的 subprocess 模块。具体步骤如下:

  1. 导入 subprocess 模块:
代码语言:python
代码运行次数:0
复制
import subprocess
  1. 使用 subprocess.Popen() 函数启动一个新的 Bash 窗口,并获得输出:
代码语言:python
代码运行次数:0
复制
cmd = "bash"
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
stdout, stderr = p.communicate()
  1. 将命令插入到新的 Bash 窗口中:
代码语言:python
代码运行次数:0
复制
input_str = "echo 'Hello, World!'"
p2 = subprocess.Popen(input=input_str, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
stdout2, stderr2 = p2.communicate()

完整的代码如下:

代码语言:python
代码运行次数:0
复制
import subprocess

cmd = "bash"
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
stdout, stderr = p.communicate()

input_str = "echo 'Hello, World!'"
p2 = subprocess.Popen(input=input_str, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
stdout2, stderr2 = p2.communicate()

print(stdout.decode("utf-8"))
print(stdout2.decode("utf-8"))

输出结果为:

代码语言:txt
复制
Hello, World!
Hello, World!

以上代码中,subprocess.Popen() 函数用于启动一个新的 Bash 窗口,并返回一个 Popen 对象。在这个新的 Bash 窗口中,我们使用 echo 命令输出字符串 "Hello, World!"。然后,我们使用 subprocess.Popen() 函数在 Bash 窗口中再启动一个新的进程,将命令 "echo 'Hello, World!'" 传递给该进程,并使用 stdin=subprocess.PIPE 参数指定该进程的输入来自管道。最后,我们使用 stdout=subprocess.PIPE 和 stderr=subprocess.PIPE 参数指定输出和错误输出的位置,并将该进程的返回值存储在 stdout 和 stderr 中。最后,我们将 stdout 和 stderr 的内容解码为字符串类型并输出。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

手把手将Visual Studio Code变成Python开发神器

并将其设置为 Python 开发工具,以及如何使用 VS Code 提高编程工作效率 Let's do it!...例如,在我们桌面上创建一个新文件夹,并将其命名为 py_scripts,然后尝试在 VS Code 上打开该文件夹。...让我们选择 bash shell 通过单击终端窗口右上角加号图标创建终端后,它将使用 bash shell,如下所示 使用 REPL VS Code 中一个非常有用功能是运行单行或多行代码...要在交互式窗口中运行当前文件,可以在资源管理器格中右键单击文件名,然后从上下文菜单中选择“在交互式窗口中运行当前文件”选项,如下所示 如果尚未安装 Jupyter 包,它会显示一个对话框并要求安装它...安装完成后会出现一个交互窗口,此时需要输入一个名字来判断是否为回文 最后,可以在交互窗口中看到结果,如下 此外,要在 VS Code 中创建 Jupyter Notebook,需要打开命令面板

3.9K30

Tmux 速成教程:技巧和调整

格 我认为沿竖直方向分割屏幕是个不错主意,这样我就可以在一边使用 Vim,而在另一边查看代码运行结果,如果需要的话,有时我还会再打开一个控制台。下面我就要讲解如何利用 Tmux 实现这一切。 ?...图中可以看出: 左侧:Vim(左上方是一个 Ruby 类文件,左下方是针对这类编写测试文件) 右侧:一个 Bash 会话 要创建一个竖直放置格很容易,待开启了一个 Tmux 会话之后,只需再按下...窗口 在Tmux中,窗口是个格容器, 你可以将多个格放置在窗口中,并根据你实际需要在窗口中排列多个格,也是完全取决于你需要。...在这个 窗口中有两个格,一个用于 Vim,一个用于运行测试代码。最后再开启一个叫作“shell”窗口用于通过 Bash shell 运行命令。...Tmux 窗口功能非常实用,因为在一个窗口中可以创建出多个格,这样在一个窗口中就能同时查看所有格内容,通过这种方法可以高效地利用有限屏幕空间。

3.9K100
  • 数据可视化工具Visdom

    Windows 用户界面空白开始,你可以在其中填充图表,图像和文本。这些出现在窗口中,你可以拖放,调整大小和销毁它们。这些窗口位于“envs”中,并且“envs”状态跨会话存储。...可以将多个处理程序注册同一窗口。你可以使用viz.clear_event_handlers(win_id)窗口中删除所有事件处理程序。...格中更新属性时触发 `propertyId`-在属性列表中位置 `value`-属性值 Click-单击“图像”格时触发,具有一个参数: `image_coord`-字典,其中x字段和y字段用于在可能缩放...比较环境 主页可以使用环境选择器比较不同环境。在复选框中选择多个环境将向服务器查询所有环境中具有相同标题图,并将它们绘制在单个图中。...保存/删除视图 使用文件夹图标,将打开一个对话框窗口,你可以在其中以与envs相同方式派生视图。保存视图将保留给定环境中所有窗口位置和大小。

    3.8K20

    如何在Ubuntu 16.04上安装和使用Byobu进行终端管理

    第一次启动Byobu时,它会启动一个会话,您可以在其中创建窗口格。...为了演示如何操作窗口,让我们考虑一个场景,我们想要在另一个窗口中编辑文件时SSH服务器并观察系统日志文件。在Byobu会话中,用于tail查看系统日志文件。...sudo tail -n100 -f /var/log/syslog 当它正在运行时,按下打开一个窗口F2,这将为我们提供一个命令提示符。...接下来,让我们通过学习如何使用格来扩展此示例。 第7步 - 使用格 Byobu提供了将窗口分成多个功能,包括水平和垂直分割。这些允许您在同一窗口中进行多任务,而不是跨多个窗口。...在步骤7示例中,使用拆分而不是窗口可以很容易地使用syslog尾部,编辑器窗口命令提示符,这些都在同一个窗口中打开

    9.9K00

    Git Bash 中使用 Python 命令

    不过,如果关闭当前 Git Bash 窗口,重新打开一个 Git Bash 窗口,上面声明 python 变量就失效了,要重新声明才行。...四、将声明变量配置永久生效 如果将 alias python = "winpty python.exe" 写入配置文件中,不管是否打开 Git Bash 窗口,声明变量都生效。 ?...然后将 Git Bash 窗口关闭,后面打开所有 Git Bash 窗口中,声明变量都能生效。...写好配置文件后,第一次打开 Git Bash 窗口,会有如下红色警告,并自动创建 .bash_profile 文件。...这个可以不用管,因为已经自动创建了 .bash_profile ,后面再打开 Git Bash 窗口就正常了。 ? 关掉 Git Bash 窗口重新打开,(即使重启电脑)这个声明变量也是生效

    2.7K40

    Ubuntu一些高(sao)效(cao)率(zuo)工具

    可以用快捷键Ctrl+a c创建一个窗口,Ctrl+a &关闭当前窗口,Ctrl+a 1/2/3…切换到特定编号窗口。...比如下面就是通过tmux启动时界面,它同时创建了一个会话(蓝色)、一个窗口(红色)和一个格(绿色)。...我们前面说到分屏,可以理解为在一个窗口中同时划分多个格,前面放那张图就是一个窗口中划分了4个格。...以前需要开4个终端来操作,或者在同一个终端下操作,然后再往上翻记录,现在就可以同时展示在一个窗口中了! 对于在窗口中划分格,我们只需要熟悉那么几个常用快捷操作就行。...如此这般就能很快定位自己想要历史命令啦0.0 但有些命令比较久远了,这么上下翻一次只能看一条还是嫌不够方便怎么办?还有一个小工具可以帮上忙!

    11310

    【Linux】Ubuntu一些高效率工具

    可以用快捷键Ctrl+a c创建一个窗口,Ctrl+a &关闭当前窗口,Ctrl+a 1/2/3...切换到特定编号窗口。...比如下面就是通过tmux启动时界面,它同时创建了一个会话(蓝色)、一个窗口(红色)和一个格(绿色)。 ?...我们前面说到分屏,可以理解为在一个窗口中同时划分多个格,前面放那张图就是一个窗口中划分了4个格。...以前需要开4个终端来操作,或者在同一个终端下操作,然后再往上翻记录,现在就可以同时展示在一个窗口中了! 对于在窗口中划分格,我们只需要熟悉那么几个常用快捷操作就行。...一般操作流程就是:t打开标签->在地址栏输入网址或搜索内容->回车->f/F选择链接->k/j/h/l上下左右滚动屏幕->J/K左右切换标签...

    4.2K50

    提升你 Vim 技能 5 个方法

    最新版本(8.2)允许你在分割窗口中以子进程 shell 方式打开一个终端。 顺便说一句,明确关闭对传统 Vi 兼容性看起来没有什么作用(事实上,可能并没有什么作用)。...插入模式(包括替换):这种模式下 Vim 允许将文本输入打开文件中。 可视模式:Vim 行为类似于基于鼠标的输入方式,如复制、编辑、替换等。... Vim 8.2 开始,你可以用 :vert term 打开一个垂直分割终端 shell 子进程,以在你代码旁边命令行上进行操作。...要初始化一个标签页,请使用一个特殊编辑命令::tabedit,它会自动切换到打开标签页。如果你给该命令一个文件名作为参数,会打开该文件并进行编辑。...如果你忽略了给它一个文件名作为参数,可以在命令行模式下使用编辑命令 :e filename.txt,就像在任何一个普通 Vim 窗口中一样。

    79320

    如何使用tmux终端多路复用器

    在Debian或Ubuntu系统上: sudo apt install tmux tmux会话中附加和分离 启动tmux时,它会创建一个包含一个窗口一个新会话。...例如:使用快捷方式会话中分离:按CTRL + b,同时释放两个键,然后按d。 命令模式:按Prefix进入命令模式,然后使用:。这将在屏幕底部打开一个命令提示符,它将接受tmux命令。...w 交互列表中选择一个窗口 出口 关闭一个窗口 Prefix + & 在无响应窗口中强制终止所有进程 默认情况下,tmux根据生成它进程命名每个窗口(最常见bash)。...要提供更易于记忆和使用窗口名称,可以使用Prefix +,重命名窗口。 管理tmux Panes 每个窗口可以分为多个格。当您希望在单个窗口中显示多个进程输出时,这非常有用。...再次按相同组合可退出缩放模式 出口 关闭活动格 Prefix + x 强制在窗格中终止无响应进程 管理tmux会话 有时甚至多个窗口格都是不够,您需要通过将布局分组单独会话中来逻辑地分离布局

    2K30

    超详细Git 安装教程(Windows)

    注:已经存在项目不受影响。 7)选择使用Git方式 a) 第一个选项, 只Git Bash命令行工具 使用Git,也是最谨慎默认选择。...10)配置终端模拟器为使用Git Bash a)第一个选项,Git Biash将使用MinTTY作为终端模拟器,它拥有一个可调整大小窗口,非矩形选择和Unicode字体。...这是“git pull”标准行为:尽可能快进当前分支一个被捕获分支,否则创建合并提交。 b) 第二个选项,将当前分支改为获取分支。...14)启用实验配置选项 启用对伪控制台实验性支持,()这允许在Git Bash窗口中运行原生控制台程序,如Node或Python,而不使用winpty,但它仍然有已知bug,一般用不到...Git GUI,是Git可视化操作工具,点击打开如下图: Git Bash,是Git配套一个控制台,点击打开如下图: Git CMD(Deprecated),是通过CMD使用Git(不推荐使用

    17.8K30

    使用 Linux 自动化工具提高生产率

    “ 脚本(Scripts)” 是动态、程序化等效项,可以使用 Python 编写,并且获得与键盘击键发送到活动窗口基本相同结果。 右侧格构建和配置短语和脚本。...这里是如何配置 AutoKey 为你解决这些类型问题。 创建一个子文件夹,可以在其中将所有“打字排版错误校正”配置分组。...在 “ 文件 -> 新建 -> 短语(File -> New -> Phrase)” 中创建一个短语。并将其称为 “grep”。...每当我按下该热键时,它都会打开一个菜单,我可以在其中选择(要么使用 “方向键”+回车键要么使用数字)要插入短语。这减少了我仅需几次击键就可以输入这些命令击键次数。...这是我设置一个小脚本,该脚本进入 Tmux 复制模式,以将前一行中一个单词复制粘贴缓冲区中: from time import sleep # 发送 Tmux 命令前缀(b 更改为 s) keyboard.send_keys

    2.1K30

    ONLYOFFICE 桌面编辑器 8.1 强势来袭:解锁全新PDF编辑、幻灯片优化与本地化体验,立即下载!AI

    在弹出版式选择窗口中,用户可以选择预设版式模板,也可以点击“新建版式”按钮,自定义创建一个幻灯片版式。 2.2 应用幻灯片版式 选择或创建好版式后,用户可以将其应用到演示文稿中多张幻灯片上。...修改完成后,所有应用了该版式幻灯片都会自动更新。 2.4 使用动画格 演示文稿编辑器中一个重要改进是动画格功能。用户可以在“动画”选项卡中,点击“动画格”按钮,打开动画格。...插入音频:在插入选项中,选择“音频”按钮,本地文件浏览器中选择需要插入音频文件。音频文件插入后,会显示一个音频图标,用户可以通过拖拽调整图标的位置。...在编号选项中,点击“自定义编号格式”,打开自定义编号设置窗口。 在自定义编号设置窗口中,用户可以设置编号格式、样式和前缀等。完成设置后,点击“确定”按钮,应用自定义编号格式。...插入形状: 打开文档或演示文稿文件。 点击顶部菜单栏中插入”选项卡,选择“形状”按钮。 形状库中选择需要形状,插入文档或幻灯片中。

    14910

    Tmux:Linux终端复用神器,包好用

    多任务管理:Tmux允许在同一个终端窗口中创建和管理多个终端会话,可以同时运行多个程序或命令,轻松切换和管理任务。...分割格:Tmux允许在一个终端窗口中创建多个分割格,使得同时查看和操作不同终端会话变得更加方便。...我自身角度来说,有些时候我有一些不是很花时间命令懒得挂后台运行,直接在xShell里跑,但是由于我们学校校园网很烂,经常出现断网重连情况,一旦断网,xShell就断开了,我之前跑程序也挂了...Tmux终端,直接输入 tmux软件名称即可创建一个终端0号: tmux 注意,除了最下面这个绿色框,其余和终端是一样。...: Ctrl + B,然后加上c,在test_1会话基础上,再开了一个会话1:bash: 注意,test_1会话里激活了一个conda环境同时开着python,而这个新建1:bash是全新

    74210

    技术|使用 MinGW 在 Windows 上使用 GNU

    首先,应用菜单中选择mingw-get启动它。 要安装GCC,请单击GCC和G++包来标记要安装GNUC、C++编译器。要完成此过程,请mingw-get窗口左上角安装菜单中选择应用更改。...除了是(自然而然)最流行shell之一外,Bash在将开源应用移植Windows平台时很有用,因为许多开源项目都假定了POSIX环境。...这将打开“首选项”窗口。点击窗口底部附近“环境变量”按钮。 在“环境变量”窗口中,双击底部面板中“路径”选区。 在“编辑环境变量”窗口中,单击右侧“新增”按钮。...创建一个条目C:\MinCW\msys\1.0\bin,然后单击“确定”。以相同方式创建第二条C:\MinGW\bin,然后单击“确定”。 在每个首选项窗口中接受这些更改。...\a.exeHelloopensource.PS>MinGW内容远不止我在这里所能介绍。毕竟,MinGW打开一个完整开源世界和定制代码潜力,因此请充分利用它。

    1.7K10

    终端terminal个性化配置

    打开终端快捷键: ctrl + alt + t 新窗口中打开 ctrl + shift +t 标签页中打开 个人配置文件介绍 系统默认状态下终端显示为紫底白字(皮皮linux为ubuntu 14.04...~/.bashrc:每次打开窗口时执行。该文件包含专用于你bashshellbash信息。与/etc/bashrc冲突则执行前者~。...当前命令在历史缓冲区中位置 \# 命令编号(只要您键入内容,它就会在每次提示时累加) \ 如果您不是超级用户 (root),则插入一个 “”;如果您是超级用户,则显示一个 “#” \xxx 插入一个用三位数...这里颜色设置作用范围是当前设置命令下一颜色设置命令,也就是说,如果我们只在\u前设置了颜色,那么终端字体应该都是红色,不仅信息项是红色,就连输入命令都是红色。...source需求 如果打开终端,用户定义配置并没有显示出来,还是默认配置。

    4.1K20

    Python 自动化指南(繁琐工作自动化)第二版:附录 B:运行程序

    终端窗口运行程序 当您打开终端窗口(如 Windows 上命令提示符或 MacOS 和 Linux 上终端)时,您会看到一个几乎空白窗口,您可以在其中输入文本命令。...此外,虽然对话框中运行 Python 脚本会打开一个终端窗口来显示其输出,但该窗口会在程序结束时自动关闭,您可能会错过一些输出。...每个命令开头@符号防止它显示在终端窗口中,并且%*将在批处理文件名后输入任何命令行参数转发给 Python 脚本。Python 脚本依次读取sys.argv列表中命令行参数。...这将打开一个终端窗口(具体来说,是运行/home/al/example.sh Shell 脚本gnome-terminal程序),我们接下来将创建这个脚本。...如果最后一行没有 bash 命令Python 脚本一完成,终端窗口就会关闭,您将错过print()函数调用在屏幕上显示任何文本。

    1.8K40

    如何在macOS上安装Python 3并设置本地编程环境

    第1步 - 打开终端 我们将完成大部分安装并在命令行上进行设置,这是一种与计算机交互非图形方式。也就是说,您不是点击按钮,而是键入文本并通过文本计算机接收反馈。...该-L或--location标志将告诉curl来重做请求一个地方,如果服务器报告所请求页面已移动到不同位置。 安装过程完成后,我们将Homebrew目录放在PATH环境变量顶部。...您应该使用nano命令创建或打开命令行文本编辑器nano~/.bash_profile文件: nano ~/.bash_profile 在终端窗口中打开文件后,输入以下内容: export PATH=...要激活这些更改,请在“终端”窗口中键入: source ~/.bash_profile 完成此操作后,您对PATH环境变量所做更改将生效。...: python3.6 -m venv my_env 本质上,此命令创建一个包含几个项目的目录(在本例中称为my_env): pyvenv.cfg文件指向您用于运行该命令Python安装。

    3.5K20

    『一网打尽』 Bash 常用命令,原来如此简单!

    标准输入(STDIN)/标准输出(STDOUT) 任何输入和提交(通过键入 ENTER)窗口命令都被称为标准输入(standard input,STDIN)。...例如:ls > tmp.txt 3 >> 两个大于号,作用是取一个命令 STDOUT 位于左方,并将其追加到右方一个或现有文件中。...-s session, tmux attach -t session:创建另一个终端会话界面而不创建窗口 [高级命令] wget {link}:下载一个网页或网页资源 curl -X POST...:执行一个命令并报告用时 CTRL + z ; bg; jobs; fg:当前 tty 中传递一个进程后台再返回前台 cat file.txt | xargs -n1 | sort |...scp :将文件远端复制本地服务器,或反过来 man {command}:为一个命令显示 manual(说明文档),但是通常这样不如谷歌搜索好用

    1.2K20
    领券