簡體   English   中英

[python]使用數字1-10編寫數據文件

[英][python]Writing a data file using numbers 1-10

dataFile = open("temp1", "w")
for line in range(11):
    dataFile.write(line)
dataFile.close()

到目前為止,這是我所擁有的,但是運行此代碼時,我總是收到錯誤消息。

Traceback (most recent call last):
      File "datafile print liines.py", line 3, in <module>
        dataFile.write(line)
    TypeError: expected a character buffer object
    >Exit code: 1 

我希望這段代碼使用數字1-10來寫一個dataFile,所以我想使用for循環和范圍可以做到這一點,但是我不確定如何將它寫到文件中每行一個數字。

我知道python有一個'w'命令,它會創建一個打開文件。

誰能給我一些建議,為什么我會收到此錯誤以及如何將其寫入數據文件?

您必須向文件中寫入字符串,而不是整數。

range(11)返回一個整數列表:

In [1]: range(11)
Out[1]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

嘗試將第3行更改為以下內容:

dataFile.write(str(line))

您可以添加換行符,以使文件中的結果文本更具可讀性:

dataFile.write('%s\n' % line))

嘗試這個

dataFile = open("temp1", "w")
for line in range(11):
    dataFile.write("%s\n" % line)
dataFile.close()

產生與此相關的文件

0
1
2
3
4
5 
6
7
8
9
10

您只能使用字符串作為參數來write

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM