IT story

파이썬을 사용하여 빈 파일 만들기

hot-time 2020. 4. 14. 19:16
반응형

파이썬을 사용하여 빈 파일 만들기


이 질문에는 이미 답변이 있습니다.

x파이썬을 사용하여 경로가있는 파일을 만들고 싶습니다 . os.system(y)where을 사용 하고 y = 'touch %s' % (x)있습니다. 디렉토리가 아닌 버전 os.mkdir을 찾았지만 찾을 수 없었습니다. 파일을 열거 나 시스템 또는 popen / subprocess를 사용하지 않고 파일을 작성하는 이와 같은 도구가 있습니까?


거기는 열지 않고 파일을 만들 수있는 방법입니다 이은 os.mknod("newfile.txt")( 하지만 OSX에 루트 권한이 필요합니다 ). 파일을 작성하는 시스템 호출은 실제로 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)

물론 파일을 열지 않고 만들 수있는 방법이 있습니다. 전화하는 것만 큼 쉽습니다 os.mknod("newfile.txt"). 유일한 단점은이 호출에 OSX에 대한 루트 권한이 필요하다는 것입니다.

참고 URL : https://stackoverflow.com/questions/12654772/create-empty-file-using-python


반응형