如何使用 Linux 终端打印某一行 python 代码?

如何使用 Linux 终端打印某一行 python 代码?

如果我正在编写一些 python 并且我只想让终端显示某一行,我应该使用什么命令?例如我的程序是: print("第一行") print("第二行") print("第三行")

我只希望第二行中的代码出现在终端中 - print(“第二行”) - 我用来运行整个程序的命令是 python programname.py 但如何打印特定行?

答案1

假设您想查看n文件的第 行,您可以简单地执行以下操作:

sed -n '42p' yourfile.py

替换42为您想看到的任何行号。

编辑后:如果您也想执行这段代码,只需将其通过管道传输到python

sed -n '42p' yourfile.py | python

答案2

替代awk解决方案:

awk "NR==2" programname.py

答案3

如果您不习惯 bash/shell,您也可以编写一个 python 脚本来做到这一点!

#!usr/bin/env python
# usage: ./script file line_no
import sys
data = ''
with open(sys.argv[1],'r') as f:
    data = f.read()
data = data.split('\n')
try:
    print data[sys[2] +1]
except IndexError:
    print "Line doesn't exist"

注意:这只是一个快速而肮脏的例子。您可以根据自己的喜好改进它。

答案4

基于@DoorKnob 答案,如果有人在搜索中发现此内容并且想要找到第 n 行输出。然后这样做。

run-program | sed -n '2p'

这将打印第 42 行输出run-program

例如

python yourfile.py | sed -n `2p`

相关内容