如何在Google Colab终端命令中使用Python变量?

40

我有一个单元格,它的内容如下:

import os
os.mkdir('123')
name = '123'
!rm -r name

我想将变量name的值传递到最后一行。我该怎么做?

2个回答

69

试试使用$,它将替换Python变量。

!rm -r $name

在某些情况下,您可能需要使用 $name\.txt{name}.txt


这个命令无法正常工作:!git clone https://$GITHUB_AUTH@github.com/$user/my-repo.git,其中 user 是一个 Python 变量,而 $GITHUB_AUTH 对应于 os.environ['GITHUB_AUTH'],在上述命令中被正确地替换为相应的值,而变量 user 则被替换为空字符串。 - nbro
11
我建议您在Shell命令中使用引号: !git clone "https://"$GITHUB_AUTH"@github.com/"$user"/my-repo.git". 我使用类似的命令来管理git和来自buckets的文件,这对我来说完全有效 :) - Jeremy Cochoy
1
"如果您的$variableName中包含空格或其他可能会破坏命令的字符,您可以考虑在其周围添加引号。例如:!rm -r "$name"" - user566245

11

使用{}

myvar = "/test"
!cd {myvar}

根据这篇文章,可以使用IPython内置的`!`运算符来执行shell命令,例如在IPython中输入`!ls`可以列出当前目录下的文件。另外,IPython还支持与shell变量交互的语法,如`output = !ls`将当前目录下的文件列表存储在`output`变量中。

谢谢您的编辑,现在看起来更漂亮了。 顺便说一句,#scrollTo有问题。你必须自己滚动找到源代码。 - AgathoSAreS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接