1

ローカルに保存されている .txt ファイルから行を分割しようとしています。for ループを作成するために行うことですが、配列の特定のインデックスでループを開始したいと考えています。例えば:

  file_content = open('files/filefinal1_test.txt')
  counter = 0
  total_lines = 0
  global l
  index = 0 if l == "" else file_content.index(l)

  for line in file_content[index:]: 
    l = line
    array_line =line.split('", "')
    array_line[0] = array_line[0].replace('"', '')
    array_line[1] = array_line[1].replace('"', '')
    array_line[2] = array_line[2].replace('"', '')
    array_line[3] = array_line[3].replace('"', '')
    if (send_req(papi, array_line) == 1): 
        counter = counter + 1 
    total_lines = total_lines + 1

これにより、次の場所でエラーが発生します: file_content[index:] file_content の特定の行でループを開始する方法はありますか?

実際には、以下のコードが機能し、配列をループします。

for line in file_content: 
        l = line
        array_line =line.split('", "')
        array_line[0] = array_line[0].replace('"', '')
        array_line[1] = array_line[1].replace('"', '')
        array_line[2] = array_line[2].replace('"', '')
        array_line[3] = array_line[3].replace('"', '')
        if (send_req(papi, array_line) == 1): 
            counter = counter + 1 
        total_lines = total_lines + 1

誰か助けてくれませんか?

4

3 に答える 3

3

私は答えを見つけました!メソッド .readlines() を呼び出しませんでした

file_content = file_content.readlines()
for lines in file_content[0:]:
     #stuff
于 2013-07-19T08:33:19.117 に答える
2

を使用lines = open(filepath, 'rb').readlines()して文字列のリストを取得できます。各文字列はファイル内の行です。次に、次のように、関心のある行のみを取得する任意のインデックスでリストをスライスできます。wanted_lines = lines[index:]これにより、インデックスからファイルの最後までのすべての行が取得されます。

于 2013-07-19T08:34:23.420 に答える