간단한 파이썬 텍스트 편집기를 만드는 초보자로서 처음에는 파일을 열 때 read_file() 함수로 텍스트 파일을 인쇄 할 수있는 혼란스러운 버그가 발생했습니다. write_file()을 사용하여 텍스트 파일을 수정 한 후 파일을 다시 읽으면 공백이 반환됩니다.간단한 텍스트 편집기 (Python)의 버그 버그
또한 내 코드에 대한 비판은 인정 될 것입니다. 고맙습니다.
import os
def main():
file = open_file()
quit = False
while quit == False:
print('Current file open is {}'.format(file.name))
print('(\'read\', \'write\', \'rename\', \'change file\', \'quit\',)')
action = raw_input('> ')
if str(action) == 'read':
read_file(file)
elif str(action) == 'write':
file = write_file(file)
elif str(action) == 'rename':
file = rename(file)
elif str(action) == 'change file':
file.close()
open_file()
elif str(action) == 'quit':
break
else:
print('Incorrect action.')
def open_file():
print('Create/open a file')
filename = raw_input('Filename: ')
try:
file = open(str(filename), 'r+')
return file
except:
print('An error occured')
return open_file()
def read_file(file):
try:
print('{}, {}'.format(file.name, file))
print(file.read())
except:
print('An error occured')
return None
def write_file(file):
print('Type to start writing to your file.')
#read_file(file)
add_text = raw_input('> ')
file.write(str(add_text))
return file
def rename(file):
new_name = raw_input('New file name: ')
os.rename(file.name, str(new_name))
return file
main()
나는'file'을 변수 이름으로 사용하는 것이 좋습니다. 거의 사용되지 않으며 사용 된 범위에만 영향을 미칩니다. –