如何在Google Colab运行的单元格中输入文本(含Git推送场景)
我来帮你解决这两个Google Colaboratory里的问题:
问题1:在运行中的单元格内输入文本
如果是代码单元格运行时需要接收你的文本输入,最直接的方法是用Python内置的input()函数:
- 在代码单元格里写下这样的代码:
user_input = input("请输入文本内容:") print("你输入的内容是:", user_input) - 运行单元格后,单元格下方会弹出一个输入框,你在框里输入文本后按回车,程序就能获取到输入内容并继续执行了。
要是你想在运行中的单元格里编辑原有内容,那得先点击单元格左侧的停止按钮(⏹️),等单元格停止运行后才能切换到编辑模式——毕竟运行中的单元格处于执行状态,是没法直接编辑内容的哦。
问题2:执行
!git push时输入用户名和密码 Colab的代码单元格执行命令是非交互式的,直接跑!git push -u origin master没法弹出输入框,推荐两种安全的解决方式:
方法1:用Colab秘密管理器(最安全,推荐)
Colab自带的秘密管理器可以帮你存储敏感信息,不会在代码或输出里暴露:
- 点击Colab左侧边栏的「🔑 Secrets」图标,打开秘密面板;
- 点击「Add new secret」,分别添加两个秘密:
- 名称填
GITHUB_USERNAME,值填你的GitHub用户名; - 名称填
GITHUB_PASSWORD,值填你的GitHub个人访问令牌(PAT)(划重点:现在GitHub已经不支持直接用账号密码push了,得先在GitHub的「Settings」里生成一个PAT,权限要勾选repo相关的);
- 名称填
- 在代码单元格里写以下代码:
from google.colab import userdata # 获取存储的秘密信息 github_username = userdata.get('GITHUB_USERNAME') github_pat = userdata.get('GITHUB_PASSWORD') # 替换仓库远程地址(把your-repo-name换成你的仓库名) !git remote set-url origin https://{github_username}:{github_pat}@github.com/{github_username}/your-repo-name.git # 执行push !git push -u origin master
这样执行push时会自动用存储的令牌验证,不用手动输入啦。
方法2:临时修改远程仓库URL(适合临时操作)
如果你只是临时操作,可以把用户名和PAT直接嵌入到仓库的远程URL里:
- 先执行这条命令替换远程地址(把占位符换成你的实际信息):
!git remote set-url origin https://你的GitHub用户名:你的个人访问令牌@github.com/你的GitHub用户名/你的仓库名.git - 接着执行
!git push -u origin master,就能自动完成验证,无需手动输入。
注意:千万不要直接在代码里写明文的密码或令牌,避免隐私泄露!
内容的提问来源于stack exchange,提问作者shivin saluja
相关产品推荐
相关产品推荐

