在终端中运行多行 Python 代码有几种方法,以下是常见的几种方式:
方法 1:使用 Python 交互式解释器(逐行输入)
- 在终端输入
python或python3进入交互式解释器 - 逐行输入你的代码(按 Enter 执行当前行)
- 注意保持正确的缩进(交互式解释器会自动处理)
示例:
1
2
3
4
5
6
7
8
9
10
11
>>> import torch
>>>
>>> device = "cuda" if torch.cuda.is_available() else "cpu"
>>> print(f"当前设备: {device}")
>>>
>>> if torch.cuda.is_available():
... total_memory = torch.cuda.get_device_properties(0).total_memory / (1024 ** 3)
... print(f"显存大小: {total_memory:.2f} GB")
... else:
... print("CUDA 不可用,无法获取显存信息")
方法 2:使用 -c 参数(单引号包裹多行代码)
1
2
3
4
5
6
7
8
9
10
11
12
python -c '
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"当前设备: {device}")
if torch.cuda.is_available():
total_memory = torch.cuda.get_device_properties(0).total_memory / (1024 ** 3)
print(f"显存大小: {total_memory:.2f} GB")
else:
print("CUDA 不可用,无法获取显存信息")
'
方法 3:使用 Here Document(适用于 Linux/macOS 的 Bash)
1
2
3
4
5
6
7
8
9
10
11
12
python << EOF
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"当前设备: {device}")
if torch.cuda.is_available():
total_memory = torch.cuda.get_device_properties(0).total_memory / (1024 ** 3)
print(f"显存大小: {total_memory:.2f} GB")
else:
print("CUDA 不可用,无法获取显存信息")
EOF
方法 4:使用 PowerShell 的多行字符串(Windows)
1
2
3
4
5
6
7
8
9
10
11
12
python -c @"
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"当前设备: {device}")
if torch.cuda.is_available():
total_memory = torch.cuda.get_device_properties(0).total_memory / (1024 ** 3)
print(f"显存大小: {total_memory:.2f} GB")
else:
print("CUDA 不可用,无法获取显存信息")
"@
方法 5:保存为临时文件(最可靠的方式)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 创建临时文件
cat > temp.py << EOF
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"当前设备: {device}")
if torch.cuda.is_available():
total_memory = torch.cuda.get_device_properties(0).total_memory / (1024 ** 3)
print(f"显存大小: {total_memory:.2f} GB")
else:
print("CUDA 不可用,无法获取显存信息")
EOF
# 执行
python temp.py
# 删除临时文件(可选)
rm temp.py
推荐做法:
对于简单的测试代码,使用方法 1(交互式解释器)或方法 2/3/4 都可以。如果是较复杂的代码,建议使用方法 5(保存为临时文件),这样更容易编辑和调试。
-
python -c ‘ 你的多行代码 ‘
-
python -c @ “ 你的多行代码 “
-
python 你的多行代码