Python中的bash "echo $(cat file)"类比(再谈字符串插值)
我有一个文件叫做 values.txt,里面的内容是分层格式的,像这样:
group1
subgroup1
value1
value2
group2
subgroup2
value3
value4
如果我在 bash 里执行
echo $(cat values.txt)
我会得到这样的输出:
group1 subgroup1 value1 value2 group2 subgroup2 value3 value4
我想在 Python 脚本里也能得到和这个完全一样格式的字符串,这样我就可以很方便地通过空格来分割它,方便后续处理。
谢谢!
2 个回答
0
在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这些问题可能是因为我们写的代码有bug,或者是因为我们没有正确理解某些概念。
当我们在网上寻找解决方案时,StackOverflow是一个很好的地方。在那里,很多程序员会分享他们的经验和解决方案,帮助其他人解决类似的问题。
如果你在StackOverflow上看到一个问题,通常会有很多人提供不同的答案和建议。你可以根据这些信息来找到适合自己的解决办法。
记住,编程是一项需要不断学习和实践的技能,遇到问题是很正常的,不要气馁!
with open('values.txt') as file:
data = file.read()
data = ' '.join(data.split())
print data
# or just:
data = file.read().split()
3
正如Byron所提到的,split
默认是根据空格来分割的,所以你只需要这样做
contents = open("values.txt", "r").read().split()
就能得到你想要的列表,这样就把你描述的两个步骤合并成一个了。如果你还有其他需要用到“格式完全相同的字符串”的地方,你可以通过分割后的列表来生成它,方法是
" ".join(contents)