파일이 없는 경우 파일 만들기
파일을 열려고 하는데, 파일이 없으면 파일을 만들어서 써야 합니다.나는 지금까지 이것을 가지고 있습니다.
#open file for reading
fn = input("Enter file to open: ")
fh = open(fn,'r')
# if file does not exist, create it
if (!fh)
fh = open ( fh, "w")
라인에 문제가 있다는 오류 메시지가 표시됩니다.if(!fh)
사용할 수 있습니까?exist
펄에서처럼?
Linux 사용자용.
원자성이 필요하지 않으면 os 모듈을 사용할 수 있습니다.
import os
if not os.path.exists('/tmp/test'):
os.mknod('/tmp/test')
macOS 및 윈도우즈 사용자.
사용하기 위한 macOS에서는 루트 권한이 필요합니다.Windows에는 방법이 없습니다.
그래서 대안으로, 당신은 대신을 사용할 수 있습니다.
import os
if not os.path.exists('/tmp/test'):
with open('/tmp/test', 'w'): pass
를 통해 원하는 동작을 달성할 수 있습니다.
file_name = 'my_file.txt'
f = open(file_name, 'a+') # open file in append mode
f.write('python rules')
f.close()
다음은 두 번째 매개 변수에 대한 몇 가지 유효한 옵션입니다.mode
에open()
:
"""
w write mode
r read mode
a append mode
w+ create file if it doesn't exist and open it in (over)write mode
[it overwrites the file if it already exists]
r+ open an existing file in read+write mode
a+ create file if it doesn't exist and open it in append mode
"""
음, 우선, 파이썬에는 없습니다.!
연산자, 그것은not
.그렇지만open
소리 없이 실패하는 것도 아닙니다. 예외가 발생합니다.그리고 블록을 올바르게 들여쓰기해야 합니다. Python은 블록을 포함하는 것을 나타내기 위해 공백을 사용합니다.
이렇게 하면 다음과 같은 이점을 얻을 수 있습니다.
fn = input('Enter file name: ')
try:
file = open(fn, 'r')
except IOError:
file = open(fn, 'w')
파일이 없는 경우 파일을 빠르게 만드는 데 사용하는 간단한 두 줄 정보가 있습니다.
if not os.path.exists(filename):
open(filename, 'w').close()
사용.input()
Python 3을 의미하며, 최근 Python 3 버전은IOError
예외는 더 이상 사용되지 않습니다(현재는 에 대한OSError
Python 3.3 이상을 사용한다고 가정하면 다음과 같습니다.
fn = input('Enter file name: ')
try:
file = open(fn, 'r')
except FileNotFoundError:
file = open(fn, 'w')
효과가 있을 거라고 생각합니다.
#open file for reading
fn = input("Enter file to open: ")
try:
fh = open(fn,'r')
except:
# if file does not exist, create it
fh = open(fn,'w')
또한, 당신은 잘못 적었습니다.fh = open(fh, "w")
당신이 열고 싶었던 파일이fn
주의: 이 방법으로 파일을 열 때마다 파일의 이전 데이터는 다음과 상관없이 삭제됩니다.'w+'
아니면 그냥'w'
.
with open("file.txt", 'w+') as f:
f.write("file is opened for business")
만약 당신이 폴더 위치를 알고 있고 파일 이름만 알 수 없는 유일한 것이라면,
open(f"{path_to_the_file}/{file_name}", "w+")
폴더 위치도 알 수 없는 경우
사용해 보다
pathlib.Path.mkdir
먼저 재생 불가능한 조건에 따라 읽기 또는 쓰기를 위해 열 수 있는 파일 개체를 만들고 싶지 않을 수도 있습니다.파일 개체로 수행할 작업에 따라 읽기 또는 쓰기 중 어떤 방법을 사용할 수 있는지 알아야 합니다.
즉, try: ...를 사용하여 @That One Random Scrub이 제안한 대로 할 수 있습니다.제외:사실 그것은 "허락보다 용서를 구하는 것이 더 쉽다"라는 파이썬 모토에 따라 제안된 방법입니다.
그러나 존재 여부를 쉽게 테스트할 수도 있습니다.
import os
# open file for reading
fn = input("Enter file to open: ")
if os.path.exists(fn):
fh = open(fn, "r")
else:
fh = open(fn, "w")
언급URL : https://stackoverflow.com/questions/35807605/create-a-file-if-it-doesnt-exist
'programing' 카테고리의 다른 글
배경 이미지와 불투명도를 동일한 속성으로 설정할 수 있습니까? (0) | 2023.07.31 |
---|---|
Enum에서 문자열을 검색하고 Enum을 반환합니다. (0) | 2023.07.31 |
단일 스레드, 비OS, 임베디드 애플리케이션에서 글로벌 변수가 무엇입니까? (0) | 2023.07.31 |
memcpy 구현을 제공하는 방법 (0) | 2023.07.31 |
아약스 요청에서 X-Requested-With 헤더를 제거할 수 있습니까? (0) | 2023.07.31 |