Pythonはファイルをクリアしてコンテンツを置き換え、jsonのロードとダンプは注意点を使用します

  • テキストファイルがあり、その中の単語を置き換え、Pythonを使用して完成させる必要があります。私は次のように書きました。
def modify_text():
    with open('test.txt', "r+") as f:
        read_data = f.read()
        f.truncate()   #清空文件
        f.write(read_data.replace('apple', 'android'))

上記の関数を実行すると、コンテンツが置き換えられる代わりに追加されます。
f.truncate()が機能しないのですが、どうすればよいですか?
ファイルを位置0に配置するには、f.seek(0)を追加する必要があります。この文がないと、ファイルはデータの最後に配置され、ここから切り捨ても削除されるため、機能しないように感じます。 。

def modify_text():
    with open('test.txt', "r+") as f:
        read_data = f.read()
        f.seek(0)
        f.truncate()   #清空文件
        f.write(read_data.replace('apple', 'android'))
  • jsonのロードとダンプを使用する際の注意点

その中で、json.dumpsはjsonを文字列にシリアル化し、jsonはint、str、boolの基本データ形式をサポートします。intをキーとして使用すると、ダンプ中にキーがstrタイプに変更されます。Json.loadsもstrタイプ。したがって、標準化するには、すべてのキーをstrに変更する必要があります。

テスト:

aa=json.dumps(price_center_mean_feature_list)
print(aa)
print(type(aa))
> {
    
    "300": [{
    
    "0": .....
aa=json.dumps(price_center_mean_feature_list)
print(aa)
print(type(aa))
> {
    
    "300": [{
    
    "0": 
> <class 'str'>
aa=json.dumps(price_center_mean_feature_list)
print(aa)
print(type(aa))
> {
    
    "300": [{
    
    "0": 
> <class 'dict'>

おすすめ

転載: blog.csdn.net/yangdashi888/article/details/103742278
おすすめ