🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Cookie

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1022閲覧

Pythonでexeアプリ作成の場合、一定期間の情報の保持はどのように行うべきでしょうか。

Anon_

総合スコア334

Cookie

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/01/29 09:08

編集2021/01/29 09:09

Pythonでアプリ起動時にログイン情報を入力してもらって、認証が通れば次の画面に進むことができるような形にしたいのですが、Pythonアプリの情報の保持はどのように行うのがベストでしょうか。
WebであればCookieやSessionといったもので情報を一定期間保持できますが、同じようなものがあるのでしょうか。
起動時に毎回ログイン情報を入力してもらう形は少々不便かと思いましたので上記を考えた次第です。
アプリの画面構成はtkinterで行っております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakaiY

2021/01/29 10:20

「起動時に毎回ログイン情報を入力してもらう形は少々不便」というのはどういう意味でしょう? そのアプリをPCにインストールして、使う時に「認証」=「正しいユーザであるかどうか確認」をするのですよね? 次に起動したときも同じ人であることを確認する必要が無いというのは、シチュエーションがわかりません。 極端なはなし、インストール時にインストーラで認証すれば、以降は使い放題でもいいってことでしょうか?
Anon_

2021/01/30 05:07

スマホアプリと同様と考えていただければ。
guest

回答2

0

起動中の同じプログラムの中であれば、変数に入れとけばそんでいいです

一旦終了して、次回起動のときにもそのデータがほしいなら、ファイルに保存しといて、起動時に読み出すということをしますね

投稿2021/01/29 09:14

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Anon_

2021/01/30 04:55

そういう感じでいいのですね。ありがとうございます。
guest

0

ベストアンサー

  • ユーザがエディタで編集できるようにするなら、ini, JSON, YAML, TOML 等

等の形式でファイルに保存します。

  • ユーザから見えなくても良い内部データのような扱いなら、

pickle, shelve で 手軽に Python のオブジェクトをファイルに保存できます。

  • データ規模が大きい時の効率を求めるならデータベース系。ログイン履歴を記録する場合等
  • 環境変数を使う dotenv

データベースを用いず、直接ファイルを扱う場合は注意が必要で、
同時書き込みがあった場合や、ファイル書き込みの途中に強制終了した場合でも
プログラムが正常に起動できるように配慮する必要があります。

パスワード等の情報の取り扱い等は注意しでください。平文で復元可能です。
また、セッションのような有効期限をサポートするものはないので、
必要であれば、独自に有効期限のフィールドを設ける等、運用でカバー。


参考: Python標準ライブラリの公式ドキュメン

投稿2021/01/29 10:37

編集2021/01/29 10:38
teamikl

総合スコア8738

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Anon_

2021/01/30 04:55

sqliteかJSONで検討しようと思います。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問