Добавление новой строки в файл - PullRequest
0 голосов
/ 06 декабря 2011

Мне интересно, как добавлять новую строку каждый раз, когда список достигает размера доски проверки (8).Вот мой код пока.Это работает, но я хочу поставить новую строку каждые 8 ​​символов.

 saveFile=input("Please enter the name of the file you want to save in: ")
  outputFile=open(saveFile,"w")
  pieceList=[]
  for row_index in range (self.SIZE):
     for column_index in range(self.SIZE):
        pieceRow=[]
        char=" "
        if self.grid[row_index][column_index]==Piece(Piece.WHITE):
           char="w"
        elif self.grid[row_index][column_index]==Piece(Piece.RED):
           char="r"
        pieceRow.append(char)
     pieceList.append(pieceRow)
     for item in pieceList:
        for char in item:
           outputFile.write("%s" %char)

Ответы [ 5 ]

2 голосов
/ 06 декабря 2011

Использование

if row_index % 8 == 0:
    # put newline
1 голос
/ 06 декабря 2011
saveFile=input("Please enter the name of the file you want to save in: ")
  outputFile=open(saveFile,"w")
  pieceList=[]
  characterCounter =0
  for row_index in range (self.SIZE):
     for column_index in range(self.SIZE):
        pieceRow=[]
        char=" "
        if self.grid[row_index][column_index]==Piece(Piece.WHITE):
           char="w"
        elif self.grid[row_index][column_index]==Piece(Piece.RED):
           char="r"
        pieceRow.append(char)
        characterCounter++
        if characterCounter==8:
           pieceRow.append("\n")
           characterCounter=0
     pieceList.append(pieceRow)
     for item in pieceList:
        for char in item:
           outputFile.write("%s" %char)
0 голосов
/ 06 декабря 2011

Вы можете использовать перечислять,

Например, CONST_SIZE = 8

for index, item in enumerate(item_list):
    output_file.write(item)
    if index % 8 == 0: output_file.write('\n')

Это будет добавлять новую строку каждый раз, когда вы записали в файл 8 элементов.

0 голосов
/ 06 декабря 2011

Вы хотите добавить новую строку после каждой строки? Почему бы не добавить

pieceRow.append("\n")

до

pieceList.append(pieceRow)
0 голосов
/ 06 декабря 2011
cnt = 0 
for item in pieceList:
    for char in item:
       outputFile.write("%s" %char)
       cnt += 1
       if cnt == 8:
           outputFile.write("\n")
           cnt = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...