简体   繁体   English

将新行添加到文件

[英]Appending a new line to file

I am wondering how to append a newline every time the list reaches the size of the checker board (8). 我想知道每次列表达到棋盘大小(8)时如何添加换行符。 Heres my code so far. 到目前为止,这是我的代码。 It works but I want to put a newline every 8 characters. 它可以工作,但是我想每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)

Use 采用

if row_index % 8 == 0:
    # put newline
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)
cnt = 0 
for item in pieceList:
    for char in item:
       outputFile.write("%s" %char)
       cnt += 1
       if cnt == 8:
           outputFile.write("\n")
           cnt = 0

Do you mean you want to append newline after each row? 您是说要在每行后添加换行符吗? Why not add 为什么不添加

pieceRow.append("\n")

before 之前

pieceList.append(pieceRow)

You could use enumerate, 您可以使用枚举,

For instance, CONST_SIZE = 8 例如,CONST_SIZE = 8

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

This will append a newline each time you've written 8 items to the file. 每次将8个项目写入文件时,都会在该行之后添加换行符。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM