[解決済み] TypeError: 文字バッファオブジェクトを期待した - 整数をテキストファイルに保存しようとしている時
質問
を作ろうとしています。 非常に 私のプログラムが何回実行されたかを記録するための単純な「カウンタ」です。
まず、1文字しか入っていないテキストファイルがあります。
0
次に、このファイルを開き、パースして
int
を追加します。
1
を値に追加し、それをテキストファイルに戻そうとする。
f = open('testfile.txt', 'r+')
x = f.read()
y = int(x) + 1
print(y)
f.write(y)
f.close()
が欲しいです。
y
の値を上書きして、テキストファイルを閉じます。
しかし、私が得ることができるのは
TypeError: expected a character buffer object
.
編集する
パースしようとする
y
を文字列として返します。
f.write(str(y))
与える
IOError: [Errno 0] Error
解決方法は?
のdocstringを確認しましたか?
write()
? と書いてありますね。
write(str) -> なし。 文字列strをファイルに書き込む。
バッファリングにより、フラッシュ() またはクローズ() が必要な場合があることに注意してください。 が、ディスク上のファイルに書き込まれたデータを反映させる。
ということは
y
を
str
を最初に選択します。
また、すでに古い値を読み込んでいるため、文字列はファイルの末尾にある現在の位置に書き込まれることに注意してください。使用方法
f.seek(0)
でファイルの先頭に移動します。
編集
IOError
,
今号
が関連しているようです。そこからの引用です。
読み込みと書き込み(または追記)の両方が許可されているモードでは (記号を含むもの)、ストリームをフラッシュ(fflush)する必要があります。 または再配置(fseek, fsetpos, rewind)のいずれかを行う。 操作の後に書き込みを行うか、書き込みを行うか。 に続いて読み出し操作を行う。
そこで、試していただきたいのが
f.seek(0)
で、もしかしたら問題がなくなるかもしれません。
関連
-
ピロウズ画像色処理の具体的な活用方法
-
Pythonコンテナのための組み込み汎用関数操作
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】TypeError: 文字バッファオブジェクトを期待する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
ピロウズ画像色処理の具体的な活用方法
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
python implement mysql add delete check change サンプルコード
-
PythonによるExcelファイルの一括操作の説明
-
Python 入出力と高次代入の基礎知識
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み】TypeError: 文字バッファオブジェクトを期待する