답변:
파이썬에서 :
open('file.txt', 'w').close()
또는 이미 열린 파일이있는 경우 :
f = open('file.txt', 'r+')
f.truncate(0) # need '0' when using r+
C ++에서는 비슷한 것을 사용할 수 있습니다.
#include<fstream>
그리고 std::ofstream("file.txt");
파이썬만큼 짧습니다. :)
f.seek(0)
후 f.truncate(0)
다른 사용자가 파일의 시작 부분에 추가 이상한 \ x00부터이있을 것이다.
온 드라의 답변에 대한 완전한 확장이 아닙니다
사용하는 경우 truncate()
확인 (내 선호하는 방법)을 만든다 커서가 필요한 위치에있다. 읽기 위해 새 파일을 열면 open('FILE_NAME','r')
커서는 기본적으로 0입니다. 당신은 당신의 코드 내에서 파일을 구문 분석 한 경우에, 다시 즉, 파일의 시작 부분에 포인트로 확인 truncate(0)
기본으로 truncate()
자릅니다 현재 cusror 위치에서 시작하는 파일의 내용.
사용자로부터의 다른 형태 @jamylak open("filename","w").close()
IS를
with open('filename.txt','w'): pass
파일을 덮어 써야합니다. C ++에서 :
#include <fstream>
std::ofstream("test.txt", std::ios::out).close();
close()
전화 할 필요가 없습니다 . 소멸자가 파일을 닫습니다. 따라서 다음과 같이 임시를 만들어야합니다.ofstream("test.txt");
프로그램 내에서 파일 포인터를 null로 지정하면 파일에 대한 해당 참조가 제거됩니다. 파일이 아직 있습니다. 나는 remove()
c 의 함수 stdio.h
가 당신이 찾고 있는 것이라고 생각합니다 . 파이썬에 대해 확실하지 않습니다.
보안이 중요한 경우 파일을 쓰기 위해 다시 열고 닫는 것으로 충분하지 않습니다. 최소한 일부 정보는 여전히 저장 장치에 있으며 디스크 복구 유틸리티를 사용하여 찾을 수 있습니다.
예를 들어, 지우려는 파일에 프로덕션 비밀번호가 포함되어 있고 현재 작업이 완료된 후 즉시 삭제해야한다고 가정하십시오.
파일 사용이 끝나면 파일을 0으로 채우면 중요한 정보가 손상되지 않습니다.
최근 프로젝트에서 다음 코드를 사용했는데,이 코드는 작은 텍스트 파일에 적합합니다. 기존 내용을 0 행으로 덮어 씁니다.
import os
def destroy_password_file(password_filename):
with open(password_filename) as password_file:
text = password_file.read()
lentext = len(text)
zero_fill_line_length = 40
zero_fill = ['0' * zero_fill_line_length
for _
in range(lentext // zero_fill_line_length + 1)]
zero_fill = os.linesep.join(zero_fill)
with open(password_filename, 'w') as password_file:
password_file.write(zero_fill)
제로 채우기는 보안을 보장하지 않습니다. 당신이 정말로 걱정하는 경우, 당신은 제로 채우기에 가장 좋은 것 과 같은 전문 유틸리티를 사용하여 파일 슈레더 또는 CCleaner를을 드라이브에 '빈'공간을 깨끗하게 닦아.
끝을 지울 필요가 없으면 파일을 제자리에서 "삭제"할 수 없습니다. "빈"값을 덮어 쓴 내용이거나 관심있는 파일 부분을 읽고 다른 파일에 씁니다.
텍스트 파일은 순차적이므로 해당 데이터를 직접 지울 수 없습니다. 옵션은 다음과 같습니다.
위의 아이디어를 구현 하려면 seek
/ truncate
function / method를 보십시오 . 파이썬과 C 모두 그러한 기능을 가지고 있습니다.
os.remove
하거나 사용하십시오 . 다른 옵션은 파일을 쓰거나 열어서 쓰거나 사용하는 것 입니다. os.unlink
unlink
truncate
파일 내용 쓰기 및 읽기
def writeTempFile(text = ''):
filePath = "/temp/file1.txt"
if not text: # If blank return file content
f = open(filePath, "r")
slug = f.read()
return slug
else:
f = open(filePath, "a") # Create a blank file
f.seek(0) # sets point at the beginning of the file
f.truncate() # Clear previous content
f.write(text) # Write file
f.close() # Close file
return text
그것은 나를 위해 일했다