# Buggy code
async def _write_stories_to_file(
    export_story_path: Text, events: List[Dict[Text, Any]]
) -> None:
    """Write the conversation of the sender_id to the file paths."""

    sub_conversations = _split_conversation_at_restarts(events)

    create_path(export_story_path)

    if os.path.exists(export_story_path):
        append_write = "a"  # append if already exists
    else:
        append_write = "w"  # make a new file if not

    with open(export_story_path, append_write, encoding="utf-8") as f:
        for conversation in sub_conversations:
            parsed_events = rasa.core.events.deserialise_events(conversation)
            s = Story.from_events(parsed_events)
            f.write("\n" + s.as_story_string(flat=True))


# Traceback (FileNotFoundError)
? Export stories to (if file exists, this will append the stories)
? Export NLU data to (if file exists, this will merge learned data with previous training examples)
? Export domain file to (if file exists, this will be overwritten) domain.yml
2019-06-18 08:16:35 ERROR    rasa.core.training.interactive  - An exception occurred while recording messages.
Traceback (most recent call last):
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 1367, in record_messages
endpoint, sender_id, sender_ids, plot_file
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 885, in _predict_till_next_listen
action_name, policy, confidence, predictions, endpoint, sender_id
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 1024, in _validate_action
is_correct = await _ask_questions(question, sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 312, in _ask_questions
should_retry = await _ask_if_quit(sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 591, in _ask_if_quit
await _write_data_to_file(sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 566, in _write_data_to_file
await _write_stories_to_file(story_path, events)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 764, in _write_stories_to_file
with open(export_story_path, append_write, encoding="utf-8") as f:
FileNotFoundError: [Errno 2] No such file or directory: ''
2019-06-18 08:16:35 ERROR    asyncio  - Task exception was never retrieved
future: <Task finished coro=<_serve_application.<locals>.run_interactive_io() done, defined at /Users/erohmensing/rasa/rasa/core/training/interactive.py:1409> exception=FileNotFoundError(2, 'No such file or directory')>
Traceback (most recent call last):
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 1416, in run_interactive_io
sender_id=uuid.uuid4().hex,
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 1367, in record_messages
endpoint, sender_id, sender_ids, plot_file
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 885, in _predict_till_next_listen
action_name, policy, confidence, predictions, endpoint, sender_id
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 1024, in _validate_action
is_correct = await _ask_questions(question, sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 312, in _ask_questions
should_retry = await _ask_if_quit(sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 591, in _ask_if_quit
await _write_data_to_file(sender_id, endpoint)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 566, in _write_data_to_file
await _write_stories_to_file(story_path, events)
File "/Users/erohmensing/rasa/rasa/core/training/interactive.py", line 764, in _write_stories_to_file
with open(export_story_path, append_write, encoding="utf-8") as f:
FileNotFoundError: [Errno 2] No such file or directory: ''

# Fixed code
async def _write_stories_to_file(
    export_story_path: Text, events: List[Dict[Text, Any]]
) -> None:
    """Write the conversation of the sender_id to the file paths."""

    sub_conversations = _split_conversation_at_restarts(events)

    io_utils.create_path(export_story_path)

    if os.path.exists(export_story_path):
        append_write = "a"  # append if already exists
    else:
        append_write = "w"  # make a new file if not

    with open(export_story_path, append_write, encoding="utf-8") as f:
        for conversation in sub_conversations:
            parsed_events = rasa.core.events.deserialise_events(conversation)
            s = Story.from_events(parsed_events)
            f.write("\n" + s.as_story_string(flat=True))