gpt4 book ai didi

python - 如何从文件中打印单行

转载 作者:行者123 更新时间:2023-11-30 23:27:12 25 4
gpt4 key购买 nike

好吧,我正在尝试打开一个文件,然后读取第一行并让它打印第一行。一旦我正确地做到了这一点,我计划创建一个循环来对该文件的其余行重复这些步骤。我在下面编写的文件中一直遇到的问题是,它不断打印出文件中的所有行,而不是仅打印第一行,并且在每行之间留下空格

import sys

def main():
log1 = (sys.argv[1])
log2 = (sys.argv[2])

f = open(log1, 'r')
for line1 in f:
print (line1)

main()

最佳答案

嗯,您的代码完全按照您所描述的问题进行:

# open file
f = open(log1, 'r')
# for each line of the file
for line1 in f:
# print the line
print (line1)

所以你可能想要的是:

import sys

def main():
log1 = sys.argv[1]
log2 = sys.argv[2]

with open(log1, 'r') as f:
# print that first line only
print (f.readline().strip('\n'))

# print the other lines
for l in f:
print(l.strip('\n'))

if __name__ == "__main__":
main()

在这里,您可以看到一些修改:

  • 回答您的问题:

    • f.readline() 仅打印一次(将其视为 for 循环的一次迭代);
    • l.strip('\n') 用于删除文件每行末尾的 \n 字符,这样就不需要双回车print() 的每一行都返回;要达到相同的结果,您还可以执行 print(l, end='') ,以便从 print 语句中删除 \n...选择您喜欢的一个消除! ;-)
  • 作为改进代码的奖励:

    • with open(log1) as f: 用于使用上下文管理器来处理 flush()close()完成后即可查看该文件;
    • if __name__ == "__main__": 用于自动执行 main() 函数当您将模块作为脚本运行时,而不是当您将其导入到另一个代码;

关于python - 如何从文件中打印单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22237247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com