我正在編寫一個小程序,可幫助您跟蹤書中的內容。我不喜歡書籤,所以我想:「如果我能創建一個能夠接受用戶輸入的程序,然後顯示他們編寫的文本的數量或字符串,在這種情況下,它們就是頁碼,繼續,並讓他們在需要時改變它?「它只需要幾行代碼,但問題是,如何在下次打開該程序時讓它顯示相同的數字?變量會重置,他們不會?有沒有辦法以這種方式永久改變一個變量?永久更改變量
Q
永久更改變量
6
A
回答
5
您可以將這些值存儲在一個文件中,然後在啓動時加載它們。
的代碼看起來有點像這樣
variable1 = "fi" #start the variable, they can come from the main program instead
variable2 = 2
datatowrite = str(variable1) + "\n" + str(variable2) #converts all the variables to string and packs them together broken apart by a new line
f = file("/file.txt",'w')
f.write(datatowrite) #Writes the packed variable to the file
f.close() #Closes the file !IMPORTANT TO DO!
代碼來讀取數據是:
import string
f = file("/file.txt",'r') #Opens the file
data = f.read() #reads the file into data
if not len(data) > 4: #Checks if anything is in the file, if not creates the variables (doesn't have to be four)
variable1 = "fi"
variable2 = 2
else:
data = string.split(data,"\n") #Splits up the data in the file with the new line and removes the new line
variable1 = data[0] #the first part of the split
variable2 = int(data[1]) #Converts second part of strip to the type needed
請記住這個方法的變量文件存儲在純文本與應用。任何用戶都可以編輯的變量和改變程序的行爲
+1
雖然這不是我實際用來解決我的問題,這是非常有用的,所以對於其他人的看法,我接受這個答案。 – MalyG
1
您需要將其存儲在磁盤上。除非你想要變得很花哨,否則你可以使用像CSV,JSON或YAML這樣的東西來簡化結構化數據。
還檢查了python pickle模塊。
1
變量有幾輩子:
- 如果他們的代碼塊內,它們的價值只存在於代碼塊。這涵蓋函數,循環和條件。
- 如果它們位於某個對象的內部,則它們的值僅存在於該對象的整個生命週期中。
- 如果對象被取消引用,或者您提早離開代碼塊,則變量的值將丟失。
如果你想保持特別的東西的價值,你必須堅持它。 Persistence允許您將變量寫入磁盤(並且是的,數據庫在技術上是磁盤外),並在以後檢索它 - 在變量的生命週期到期後或程序重新啓動時檢索它。
對於如何保持頁面位置,您有幾種選擇 - 嚴格的方法是使用SQLite;一個稍微不笨重的方法將是unpickle這個對象,或者簡單地寫入一個文本文件。
相關問題
- 1. 永久更新$ PATH變量
- 2. 永久PHP變量
- 3. 永久PowerShell變量
- 4. 永久地改變會話
- 5. Matlab變量永久保存
- 6. 永久環境變量
- 7. Rails中的永久變量
- 8. 如何在solaris 10中永久更改PATH變量?
- 9. 更改永久會話系統變量在MySQL
- 10. 永久更改光標
- 11. 永久文件更改
- 12. jquery永久性更改html
- 13. 永久更改靜態值
- 14. CSS不會永久更改
- 15. 永久變更列表lisp
- 16. .htaccess改寫幫助wordpress永久更改
- 17. 永久改變RSCRIPT和R Sys.getenv( 「HOME」)
- 18. 如何重定向永久改變
- 19. 變化CDPATH永久
- 20. 永久刪除JAVA_TOOL_OPTIONS環境變量
- 21. 如何永久保存變量?
- 22. 在windows中設置永久變量%username%
- 23. Laravel3:必須永久設置的變量
- 24. 永久性設置配置變量
- 25. 如何永久設置環境變量?
- 26. 如何永久替換變量值
- 27. 永久設置環境變量
- 28. 如何永久設置環境變量?
- 29. 永久更改Conda中的活動python
- 30. css for mouseover上的永久更改
肯定存儲在一個泡菜文件或數據庫中... –
@JoranBeasley謝謝,但我不知道如何做這兩個。如果你能啓發我,那會很棒! – MalyG
或者只需將該值寫入文本文件,並在程序加載時從文本文件中讀取該值。看看:http://docs.python.org/2/tutorial/inputoutput.html – adchilds