Python: How to select the first line of a text file, and after the second…?
本问题已经有最佳答案,请猛点这里访问。
我遇到了一个关于Python的问题。我有一个文本文件(textfile1.txt),有几行例子:
1 2 3 | This is the line 1 This is the line 2 This is the line 3 |
我可以在python脚本中以书面形式返回文本文件的所有内容:
1 2 3 4 5 6 | def textFile1(self): my_file = open("textFile1.txt") my_file_contents = my_file.read() return my_file_contents |
使用此函数(read())返回文件的所有内容
现在,我想写另一个文本文件,我用我的python程序再次调用它:
1 2 3 | The line 1 of my textFile1 is: This is the line 1 The line 2 of my textFile1 is: This is the line 2 The line 3 of my textFile1 is: This is the line 3 |
但是我唯一能做的就是每次都写所有的内容(这是正常的,因为我返回了textfile1.txt的所有内容),但是我不知道如何只选择textfile1.txt的第1行,在第2行和第3行之后……
总而言之,我的问题是:如何选择一个文本文件中的一行,然后增加它(例如在终端中打印)?我想是这样的:
1 2 3 4 5 | i=0 f = open("textFile.txt","r") ligne = f.readline() print ligne[i] i=i+1 |
但在Python中,我不知道该怎么做。
谢谢你
更新:
谢谢你的回复,但直到现在,我还是被阻止了。偶然地,是否可以从文本文件中选择一行,尤其是使用此函数:
1 2 | for line in f: print line.rstrip() # display all the lines but can I display just the line 1 or 2? |
您想循环文件的行。文件提供了一个非常简单的界面:
1 2 | for line in f: # Do whatever with each line. |
请注意,行将包含任何尾随的换行符。
此外,通常最好在
1 2 3 | with open('textFile.txt', 'r') as f: for line in f: # Do whatever with each line. |
这样可以确保在
您可以一行一行地迭代文件
1 2 3 4 | with open('textFile1.txt') as f: for line in f: print line # Write to the 2nd file textFile2.txt |
1 2 3 4 5 6 7 8 9 | def copy_contents(from_path, to_path): from_file = open(from_path, 'r') to_file = open(to_path, 'w') for no, line in enumerate(from_file.readlines()): to_file.write('This is line %u of my textFile: %s' % (no, line)) from_file.close() to_file.close() |