source

python을 사용하여 빈 파일 만들기

manycodes 2022. 10. 26. 21:12
반응형

python을 사용하여 빈 파일 만들기

경로가 있는 파일을 만들고 싶습니다.xPython을 사용합니다.사용하고 있습니다.os.system(y)어디에y = 'touch %s' % (x)디렉토리 이외의 버전을 찾고 있습니다.os.mkdir하지만 아무것도 못 찾았어요파일을 열거나 시스템 또는 팝업/서브프로세스를 사용하지 않고 파일을 작성할 수 있는 툴이 있습니까?

파일을 열지 않고는 파일을 생성할 수 없습니다. 있다os.mknod("newfile.txt")(단, OSX에 대한 루트 권한이 필요합니다).파일을 작성하기 위한 시스템콜은 실제로open()와 함께O_CREAT플래그요. 그러니 무슨 일이 있어도 항상 파일을 열게 될 겁니다.

따라서 파일이 존재하는 경우 파일을 잘라내지 않고 간단하게 작성할 수 있는 가장 쉬운 방법은 다음과 같습니다.

open(x, 'a').close()

사실, 당신은 생략할 수 있습니다..close()왜냐하면 CPython의 리카운팅 GC는 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)

물론 파일을 열지 않고 작성하는 방법도 있습니다.전화하는 것만큼이나 쉽다.os.mknod("newfile.txt")유일한 단점은 이 콜에 OSX의 루트 특권이 필요하다는 것입니다.

언급URL : https://stackoverflow.com/questions/12654772/create-empty-file-using-python

반응형