GNU/Linux >> Linux の 問題 >  >> Linux

Python の open() は、ファイルが存在しない場合、ファイルを作成しません。

open を使用する必要があります w+ で モード:

file = open('myfile.dat', 'w+')

次のアプローチの利点は、ファイルが適切に閉じられることです。 途中で例外が発生した場合でも、ブロックの最後に。 try-finally に相当します 、しかしずっと短い。

with open("file.dat","a+") as f:
    f.write(...)
    ...
<ブロック引用>

a+ 追加と読み取りの両方のためにファイルを開きます。ファイルが存在する場合、ファイル ポインタはファイルの末尾にあります。ファイルが追加モードで開きます。ファイルが存在しない場合は、読み書き用に新しいファイルを作成します。 -Python ファイル モード

seek() メソッドは、ファイルの現在位置を設定します。

f.seek(pos [, (0|1|2)])
pos .. position of the r/w pointer
[] .. optionally
() .. one of ->
  0 .. absolute position
  1 .. relative position to current
  2 .. relative position from end
<ブロック引用>

「rwab+」文字のみが許可されます。 「rwa」の 1 つだけが存在する必要があります - スタック オーバーフローの質問 Python ファイル モードの詳細 を参照してください .


以下を使用することをお勧めします:

import os

writepath = 'some/path/to/file.txt'

mode = 'a' if os.path.exists(writepath) else 'w'
with open(writepath, mode) as f:
    f.write('Hello, world!\n')

Linux
  1. piwik:入力ファイルを開けませんでした:./ console

  2. LinuxでRARファイルを作成、抽出、または開く方法は?

  3. メタデータファイルがチェックサムと一致しません– YUMエラー!

  1. Exec 3とは何ですか?

  2. Linuxスワップファイルを作成する

  3. ファイル:コマンドが見つかりません

  1. Linux:宛先ディレクトリが存在しない場合は、コピーして作成します

  2. C fopen と open

  3. ファイルがまだ存在しない場合にのみファイルに行を追加する