2015-08-25 3 views
1

В предыдущем посте я спросил, как создать новый файл для записи, если он еще не существует. Тем не менее, я только что попробовал это в PyCharm, и он не работает. Я не вижу никаких признаков файла LOOKHERE.txtКак создать .txt-файл в Python? (Pycharm)

my_list = [i**2 for i in range(1,11)] 

openfile = open('LOOKHERE.txt', 'w') 
for item in my_list: 
    openfile.write(str(item) + "\n") 
openfile.close() 

Что я делаю неправильно? Может ли это иметь какое-либо отношение к использованию проектов PyCharm?

+1

дайте вашему файлу путь или загляните в каталог, из которого был выполнен этот сценарий. – Rash

+0

@ Rash Да, я просмотрел тот же путь к файлу, что и мой .py-файл, но его там нет. Означает ли это каждый раз, когда я хочу создать новый файл, я должен указать путь? Из других сообщений мне сказали, что Python сделает это автоматически. – AlanH

+1

Его хорошая практика всегда указывать путь. Однако, как и другие, если у вас нет, то по умолчанию используется текущий каталог. Если вы его не видите, проверьте, указав путь, который ваша программа верна. – Rash

ответ

0

Текстовый файл создается в папке проекта pycharm, как вы предлагали. Если вы хотите пойти в другом месте, как и ваш рабочий стол, например, сделать это:

f = open('path_to_desktop/file.txt', 'w') 

Примечание: Я только что проверил это на моей системе. Мне удалось получить путь к проекту, щелкнув правой кнопкой мыши папку в окне проекта (справа) и щелкнув «копировать путь» в появившемся меню.

EDIT: Я предполагаю, что с тех пор, как вы приняли мой ответ, это сработало для вас в конечном итоге (хотя, пожалуйста, любые другие вопросы, сделайте комментарий). Просто хотел добавить, как сказал @ThanePlummer, что обычно лучше использовать инструкцию with при открытии файлов. Одна из причин заключается в том, что ваши файлы автоматически закрываются для вас! Google it up;)

0

Сначала вы должны явно указать путь. Сделайте это, используя спецификатор r и команду join, чтобы она была независимой от платформы. Лучше использовать ключевое слово with при работе с файлами.

import os 

my_path = r'my/longpath/here' # forward slash works on all systems 

my_list = [i**2 for i in range(1,11)] 

with open(os.path.join(my_path, 'subdir', 'LOOKHERE.txt'), 'w') as fh: 
    for item in my_list: 
     openfile.write(str(item) + "\n") 
+0

. Еще лучше использовать встроенный модуль os.path для управления пути. (в частности, присоединиться). –

+0

Согласовано. Возможно, вы имели в виду этот комментарий для другого сообщения? 'os.path.join()' используется в этом решении. –

+0

Я имел в виду сделать это: os.path.join («мой», «длинный», «путь», «идет», «здесь»), так как ваш путь не переносится (или, наоборот, «my/long/путь/идет/здесь "будет работать везде). Это не большое дело. –

0

В PyCharm вы можете указать рабочий каталог, чтобы указать место, где должна выполняться программа. Открыть Edit Configuration, нажав Shift+Alt+F10, а затем 0 или с панелью навигации. Затем в поле Working directory выберите путь к проекту.

Смежные вопросы