【发布时间】:2019-08-14 08:40:09
【问题描述】:
我正在尝试将文本文件中的数字列表转换为 python 列表形式。比如我想做
1
2
3
4
5
进入
[1,2,3,4,5]
我在另一篇使用 sed 的帖子中发现了一些几乎可以工作的东西。
sed '1s/^/[/;$!s/$/,/;$s/$/]/' file
但这并没有删除每个数字后的新行。如何修改此 sed 命令以使其执行我想要的操作。此外,还将感谢对 sed 命令的组件的解释。谢谢
【问题讨论】:
-
with open('file') as f:..data = f.read().strip().split();..nums = map(int, data)?你为什么在这里使用sed? -
您是想在 Python 中执行此操作,还是这主要是
sed上的一个问题,而您只是因为格式而引用 Python?如果后者 - 除了sed标签之外你不需要任何东西......如果前者 - 你不需要sed标签......请考虑在您的帖子中添加edit澄清一下 - 谢谢。 -
以防万一您需要它进行一些 Python 操作之外的操作
awk 'BEGIN{RS=ORS="";OFS="," ;printf "["} {$1=$1;print} END{print "]\n"}' file -
追加
| tr -d '\n'? -
谢谢@Cyrus。这是一个很好的命令行答案。你应该让它成为一个实际的答案