我有點好奇,因爲我想創建一個包含字典的文件,該字典在事件發生時會自動更新,並且需要知道Python的IDE可以在單行上保留的字符數是否有限制。Python的IDE可以在一行中使用多少個字符?
對我來說,一種替代方法是至少知道一種方法,使字典在達到一定長度時總是從一個新行開始。但我仍然想知道是否有限制只是爲了知道緣故。
我有點好奇,因爲我想創建一個包含字典的文件,該字典在事件發生時會自動更新,並且需要知道Python的IDE可以在單行上保留的字符數是否有限制。Python的IDE可以在一行中使用多少個字符?
對我來說,一種替代方法是至少知道一種方法,使字典在達到一定長度時總是從一個新行開始。但我仍然想知道是否有限制只是爲了知道緣故。
就磁盤存儲和RAM存儲器而言,'\n
只是另一個字符。就tcl/tk和Python的tkinter
包裝而言,換行符非常重要。由於tk的文本小部件旨在向人類顯示文本,並且由於垂直滾動比水平滾動更有用,因此它針對前者進行了優化。 1000個字符線(總共100,000個字符)陷入垂直滾動,而300,000個50字符(總計15,000,000個字符)是沒有問題的。 IDLE使用tkinter
,主窗口基於tk的文本部件。因此,如果您在IDLE中查看文本,請保持行長合理。
我不知道其他使用其他GUI框架的IDE。但即使他們更好地處理無限長的行,100000字符行的水平滾動相當令人討厭。
您不應該擔心限制。至於新行,您可以使用if
和\n
或for
循環,具體取決於您要進行的操作。
要回答你的問題,不,對字典或列表(或任何其他對象)的長度沒有限制。我已將整本書的所有單詞存儲在列表中。它們只是輸入流。
就你的代碼的寫法而言,每行超過80個字符/列的寫法並不是Pythonic,因爲人類最終必須閱讀它。
但是如果它讓你感覺更好,你可以打破字典和列表了多行,甚至是項目之間留下評論:
>>> my_dict = {'a': 1, # comment 1
'b': 2, # comment 2
'c': 3, # comment 3
'd': 4
}
您也可以打破任何聲明用反斜槓:
>>> my_string = "my \
string"
>>> print(my_string)
'my string'
最後,您可以對超長字符串使用三重引號,這可能會跨越多行。請注意,換行符將包含在您的字符串中。
>>> my_very_long_string = '''This is a long string.
Rather than using multiple print statements,
I only used one.'''
>>> print(my_very_long_string)
'This is a long string.\nRather than using multiple print statements,\nI only used one.'
在過去(多行字符串)爲例,這是在未格式化它可以在編輯多行呈現怎一個「文件」(流)實際上看起來。
我很欣賞你的答案,但我的問題是如何自動做到這一點...是的我知道我可以使用反斜槓n和什麼不開始一個新的,但就像我的問題說,字典將自動更新與新用戶每次發生事件時的信息。這個文件最終會有這個非常長的horizantal字典,裏面填充了不同的用戶信息,如果單行可以容納多少個字符,我不會讓我的程序突然停止工作。 – Wright
你是什麼意思?這些字典不會寫在文本文件上嗎?而且,就新行的寫作而言,我認爲在編寫新字典之前你可以只寫'f.write('\ n')'。 – spicypumpkin
您是否考慮製作一百個字符的行,複製並粘貼製作200,然後複製並粘貼製作400,然後複製並粘貼製作800,等等,直到它停止工作? –
不用多久,IDLE就會開始爬行。 –