Python如何提取文件每行首单词并合并为单行输出
修改方案
原代码逐次调用print()输出单词时,函数默认会在每次输出末尾添加换行符,因此每个单词会单独占一行。由于你提取到的每个首单词本身已经携带末尾逗号,只需要把单次输出的换行改成空格分隔,就能匹配目标输出格式,以下是两种常用实现方式:
方法1:先收集结果再统一拼接输出(推荐)
先把所有提取到的首单词存到列表中,最后用空格拼接后一次性打印,不会产生多余的首尾或间隔空格:
target_words = [] with open("my_file.txt", "r") as f: next(f) # 跳过文件首行 for line in f: words = line.split() if words: target_words.append(words[0]) print(" ".join(target_words))
方法2:修改print函数的末尾输出参数
调整print()的end参数,把默认的换行符替换为空格,循环结束后补打一个换行,避免后续命令行输出和结果挤在同一行:
with open("my_file.txt", "r") as f: next(f) # 跳过文件首行 for line in f: words = line.split() if words: print(words[0], end=" ") # 补末尾换行 print()
两种方法运行后都能输出
a-1, b-2, c-3,格式的结果,第一种方法容错性更高,即使文件中存在多余空行也不会输出无意义的空格,优先推荐使用。
内容的提问来源于stack exchange,提问作者penguin.chop
相关产品推荐
相关产品推荐

