[解決済み】pythonで空ファイルを作成する【重複あり
2022-03-29 06:21:34
質問
パスが設定されたファイルを作成したい
x
pythonを使用しています。私はこれまで
os.system(y)
ここで
y = 'touch %s' % (x)
. の非ディレクトリ版を探しました。
os.mkdir
が、なかなか見つからない。このように、ファイルを開かずに、systemやpopen/subprocessを使って作成するツールはないのでしょうか?
解決方法は?
<ストライク
ファイルを開かずに作成する方法はありません。
があります。
os.mknod("newfile.txt")
(
が、OSX では root 権限が必要です
). ファイルを作成するためのシステムコールは、実際には
open()
と共に
O_CREAT
フラグを使用します。だから、どうやっても、必ずファイルを開くことになるのです。
つまり、ファイルが存在する場合に切り捨てずに単純に作成する最も簡単な方法は、こうです。
open(x, 'a').close()
実際には
.close()
CPythonの参照カウントGCが
open()
しかし、明示的に行う方がすっきりしますし、CPython 固有の挙動に依存するのも良くありません。
万が一
touch
の動作(すなわち、ファイルが存在する場合に mtime を更新する)を指定します。
import os
def touch(path):
with open(path, 'a'):
os.utime(path, None)
これを拡張して、パスの中に存在しないディレクトリを作成することもできます。
basedir = os.path.dirname(path)
if not os.path.exists(basedir):
os.makedirs(basedir)
関連
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] 億の相対的輸入
-
[解決済み] Python の open() はファイルが存在しない場合、ファイルを作成しない
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
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 カメの描画コマンドとその例
-
Pythonによるjieba分割ライブラリ
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] Pythonでタッチを実装する?