あなたの書籍のどのページを追跡するのに役立つ小さなプログラムを作成しています。私はブックマークのファンではないので、私は思った "私は、ユーザー入力を取るプログラムを作成し、それらが書かれたテキストの数や文字列を表示する場合はどうだろう、この場合は、必要に応じていつでも変更することができます」それは数行のコードしか必要としませんが、問題は次回プログラムを開いたときに同じ番号を表示するにはどうすればいいのですか?変数はリセットされますか?そうではありませんか?この方法で永続的に変数を変更する方法はありますか?変数を永久に変更する
答えて
ファイルに値を格納し、起動時に値をロードすることができます。
コードは次のようになり、データを読み取るために、この
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
ベア心の中で変数ファイルは、アプリケーションに平文で保存されているこの方法で。すべてのユーザが変数を編集して、プログラムの動作を変更することができ
これは私の問題を解決するために実際に使用したものではありませんが、これは非常に便利なので、他の人にはわかりますこれを答えとして受け入れる。 – MalyG
ディスクに保存する必要があります。本当に欲しいのでなければ、CSV、JSON、またはYAMLのようなものを使って、構造化されたデータを簡単にすることができます。
python pickleモジュールもチェックしてください。
変数は、いくつかの寿命を持っている:
- 彼らは、コードのブロックの中にいる場合は、その値はコードだけのそのブロックのために存在します。これは、関数、ループ、および条件をカバーします。
- オブジェクトの内部にある場合、その値はそのオブジェクトの存続期間中のみ存在します。
- オブジェクトが逆参照されるか、ブロックのコードを早めに残すと、変数の値は失われます。
特に何かの価値を維持したい場合は、を持続する必要があります。です。 Persistenceを使用すると、変数をディスクに書き込むことができます(データベースは技術的にはディスクに保存されます)。後で、変数の有効期限が切れた後、またはプログラムを再起動した後に取得できます。
ページの場所を維持する方法にはいくつかのオプションがあります。手間のかかる方法はSQLiteです。オブジェクトをunpickleにするか、単純にテキストファイルに書き込むことになります。
- 1. ボタンイメージを永久に変更します
- 2. sudoの$ PATH変数(Ubuntu 9.x)を永久に変更するには
- 3. GDBの逆アセンブリフレーバを永久に変更する
- 4. 変数を関数に永久に渡す
- 5. 新しいAzureポータルに永久に変更する方法
- 6. WMIとpowershellを使用してポートを永久に変更する
- 7. jQueryの.keydown()を使って要素を永久に変更する方法は?
- 8. Windowsの水銀コマンドラインの言語を永久に変更する方法は?
- 9. 恒久PowerShell変数
- 10. 永久
- 11. 永久
- 12. 交換のための変更は永久に残りますか?
- 13. Firefox 4のUserAgent文字列を永久に変更してください
- 14. 環境変数を永久保存することはできません
- 15. 永久ログイン
- 16. WP7フラッシュを永久にオンにする
- 17. executorService.scheduleAtFixedRate永久にタスクを実行する
- 18. フォームデータを永久に保存する
- 19. Android SQLite永久データ
- 20. nginx 301永久リダイレクト
- 21. TDタグのIDを動的に変更することは永久的ではありません
- 22. SQL Serverの恒久変数とグローバル変数
- 23. DNSを変更することなく中小企業のWebサイトの永久エイリアスURL
- 24. JWPlayer広告のスキップボタン永久
- 25. テーブルビューのスクロールバーを永久に表示
- 26. select2の永久にドロップダウンリストを開く
- 27. cの永続ローカル変数
- 28. Railsの永続変数
- 29. Node.js変数をPHPセッション変数に変更する
- 30. 同じページのhtml変数をPHP変数に変更する
ピクルファイルまたはデータベースに保存してください... –
@JoranBeasleyありがとうございます。しかし、どちらかをどうするかわかりません。もしあなたが私を啓発することができれば、それは素晴らしいだろう! – MalyG
または、単に値をテキストファイルに書き込んで、プログラムが読み込まれるときにその値をテキストファイルから読み込みます。次のURLをご覧ください:http://docs.python.org/2/tutorial/inputoutput.html – adchilds