[解決済み] ファイルが存在しない場合は新しいファイルに書き出し、存在する場合はファイルに追加する。
2023-01-22 13:56:09
質問
あるプログラムが、ユーザの
highscore
をテキストファイルに書き出すプログラムがあります。このファイルの名前は、ユーザが
playername
.
その特定のユーザ名を持つファイルがすでに存在する場合、プログラムはそのファイルに追加します (そうすれば、1つ以上の
highscore
). そして、そのユーザー名を持つファイルが存在しない場合(例えば、そのユーザーが新しい場合)、新しいファイルを作成し、そこに書き込む必要があります。
これが関連する、今のところ動作していないコードです。
try:
with open(player): #player is the varible storing the username input
with open(player, 'a') as highscore:
highscore.write("Username:", player)
except IOError:
with open(player + ".txt", 'w') as highscore:
highscore.write("Username:", player)
上記のコードでは、ファイルが存在しない場合は新規にファイルを作成し、そこに書き込んでいます。存在する場合は、ファイルをチェックしても何も追加されておらず、エラーも発生しません。
どのように解決するのですか?
あなたが興味を持っているハイスコアがどこに保存されているか正確にはわかりませんが、以下のコードはファイルが存在するかどうかをチェックし、必要であればそれに追加するために必要なものであるはずです。私は、"try/except" よりもこの方法を好みます。
import os
player = 'bob'
filename = player+'.txt'
if os.path.exists(filename):
append_write = 'a' # append if already exists
else:
append_write = 'w' # make a new file if not
highscore = open(filename,append_write)
highscore.write("Username: " + player + '\n')
highscore.close()
関連
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] テキストファイルを文字列変数に読み込んで、改行を除去するには?
-
[解決済み] ファイルの作成日時、変更日時を取得する方法
-
[解決済み] pandasのDataFrameをCSVファイルに書き出す
-
[解決済み] Pythonでリストをファイルに書き込む
-
[解決済み] Python の open() はファイルが存在しない場合、ファイルを作成しない
-
[解決済み] TypeError: Python3でファイルへの書き込み時に'str'ではなくbytesのようなオブジェクトが要求される
-
[解決済み】pythonのファイルモード "w+"に困惑。
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 組込み開関数におけるモードa、a+、w、w+、r+の違い?
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例