Как сделать функцию, которая открывает файл для записи и позволяет пользователю записывать в файл, а когда пользователь пишет «стоп», закрывает файл? - PullRequest
0 голосов
/ 15 октября 2018

Как мне сделать функцию, которая 1. открывает файл для записи, 2. позволяет пользователю писать текст в цикле while, который продолжается с новыми строками, используя ("\ n"), чтобы пользователь записал "stop",и затем цикл переходит к шагу 3. закройте файл.

Пока я получил это

def writesomething(filename):
    file1=open("randomfile","w")
    file1.write("")
    file1.close()

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Вы можете использовать функцию iter со сторожем stop, а затем соединить результирующие строки последовательности с '\n' для вывода:

with open('randomfile', 'w') as f:
    f.write('\n'.join(iter(input, 'stop')))
0 голосов
/ 15 октября 2018

Сначала соберите все входные данные, затем .join() это с \n, затем запишите все сразу.

text = []
user = input('Enter text to write to file (\'quit\') to end: ')
text.append(user)
while user != 'quit':
    user = input('Enter text to write to file (\'quit\') to end: ')
    text.append(user)
res = '\n'.join(text)
with open('text.txt', 'w') as f:
    f.write(res)
Enter text to write to file ('quit') to end: vash
Enter text to write to file ('quit') to end: the
Enter text to write to file ('quit') to end: stampede
Enter text to write to file ('quit') to end: quit
chrx@chrx:~/python/stackoverflow/10.11$ cat text.txt
vash
the
stampede
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...