Как сохранять данные в питон?
Есть некая переменная, например user_data = input()
Надо её сохранить куда-то, чтобы при открытии программы заново, она уже была. Я делаю так:
with open('file.txt', 'w') as file: file.write(user_data)
И потом получаю данные так
user_data_list = [] with open('file.txt', 'r') as file: for line in file: user_data_list.append(line) user_data = user_data_list[x]
Но, думаю настоящие программисты делают по другому
- Вопрос задан более трёх лет назад
- 6827 просмотров
4 комментария
Простой 4 комментария
Сохранение, загрузка и повторный вызов работы в окне Python
В окне Python есть возможность для изучения и экспериментирования с Python в приложении ArcGIS Desktop . Во многих случаях полезно сохранять проделанную в окне Python работу в файл, который можно будет использовать в следующих сеансах.
Содержимое окна Python можно сохранить в файл Python или текстовом файе. Щелкните окно Python правой кнопкой мыши и выберите Сохранить как (Save As) , чтобы сохранить код либо в файл Python ( .py ), либо в текстовый файл ( .txt ). При сохранении в файл Python можно сохранить только код. При сохранении в текстовом файле все содержимое окна Python, включая код, возвращаемые сообщения и командную строку ( >>> ), будет записано в выходной файл.

При сохранении кода из окна Python в выходной файл будет записано только то, что в данный момент находится в окне Python . Удаленные фрагменты не будут записаны в файл.
Загрузка в окно Python
Окно Python является интерактивным интерпретатором, который удобен для быстрого выполнения инструментов геообработки или других команд Python. Однако код, который уже был написан и сохранен в автономный скрипт или в файл Python, также можно загрузить в окно Python, изменить и выполнить. Ниже показан простой скрипт, который просматривает класс объектов и поле и создает уникальный список значений поля. Это достаточно простой пример, но ввод вручную всех 13 его строк в окно Python может занять продолжительное время. Вместо этого щелкните правой кнопкой в окне Python и выберите Загрузить (Load) . Выбранный вами код (сохраненный в автономном скрипте или как файл Python) будет немедленно загружен в окно Python . После загрузки в окно Python можно отредактировать положение класса объектов, имя поля или синтаксис, затем выполнить код, поместив курсор в конце кода и нажав клавишу ENTER .
Создает список уникальных значений поля на основе класса объектов и имени поля.
import arcpy featureclass = "C:/data/county.gdb/hospital" field = "Zip" valueList = [] rows = arcpy.da.SearchCursor(featureclass, [field]) for row in rows: valueList.append(row[0]) uniqueSet = set(valueList) uniqueList = list(uniqueSet) uniqueList.sort() print(uniqueList)
Повторный вызов кода Python
Строки кода, выполненные ранее, можно вызвать снова, используя клавиши стрелок вверх и вниз. Это позволяет вставить указанную строку в место текущего положения курсора. Строку кода можно отредактировать и выполнить, либо выполнить ее еще раз в неизменном виде.
Запись в файл Python. Перезапись файла Python
Высокоуровневый язык Python 3 имеет множество полезных средств, позволяющих взаимодействовать с текстовыми файлами. Вы можете как создавать документы для хранения информации, так и выполнять чтение, запись и удаление данных.
Сегодня поговорим о создании и записи файлов.
Создание файла, его открытие и закрытие
Работа с текстовым файлом в Python начинается с момента вызова функции open. Она принимает в качестве атрибутов путь к объекту на ПК и режим обработки. Вы можете указать абсолютный путь (это адрес размещения на жёстком диске) или относительный (речь идёт о координатах относительно папки проекта).
Что касается режима обработки файла, то при его выборе учитывайте его назначение («r» — для чтения, «w» — для записи). Таблица ниже позволит вам ознакомиться с режимами доступа к файлу в Python:

А вот пример простейшего взаимодействия с текстовым документом:
file = open("otus.txt", "w") file.write("hello world") file.close()Здесь функция open принимает относительный путь, открывая его для записи. При этом, если в папке файл otus.txt будет отсутствовать, метод open создает его автоматически, после чего откроет для него нужный режим обработки.
Метод close закрывает файл, а это необходимо сделать, выполнив нужные вам действия с переменной file (иначе потеряете информацию). Впрочем, можно обойтись и без close, используя связку операторов with as (переменная, которая ссылается на файл, должна быть прописана после конструкции):
with open("otus.txt", "w") as file: file.write("hello world")Метод write() для записи в файл в Python
В предыдущих примерах мы уже использовали метод write() . Он позволяет записывать любую строку в открытый файл. Помните, что строки в Python способны содержать не только текст, но и двоичные данные.
Запись в файл построчно выполняется посредством записи нужной вам строки с последующей записью \n — символа перевода строки.
Давайте ещё раз посмотрим на запись в файл с помощью метода write(). Синтаксис:
my_file.write(string);my_file = open("otus.txt", "w") my_file.write("Люблю Python!\nЭто крутой язык!") my_file.close()Код, представленный выше, создаст файл otus.txt , записав в него указанную строку.
Давайте теперь выполним запись списка поэлементно, где каждый элемент списка будет записан в новой строке:
lines = ["one", "two", "three"] with open(r"C:\otus.txt", "w") as file: for line in lines: file.write(line + '\n')Этот код позволит создать небольшой массив lines, содержащий три строковых элемента: «one», «two» и «three». Благодаря функции open и связке операторов with as произойдёт открытие текстового файла otus.txt в корневом каталоге жёсткого диска C. Далее произойдёт запись всех элементов списка с помощью write. Символ \n обеспечит, чтобы каждая запись была выполнена с новой строки.
Шаг 2. Написание и запуск кода
Хотя управление файлами проекта осуществляется в обозревателе решений, с содержимым файлов, например файлов исходного кода, вы обычно работаете в окне редактора. Редактор распознает тип редактируемого файла с учетом контекста. Он также определяет язык программирования (благодаря расширению файла) и обеспечивает характерные для этого языка возможности, например раскраску синтаксических конструкций и автоматическое завершение с помощью IntelliSense.
- При создании проекта "Python Application" в редакторе Visual Studio откроется пустой файл по умолчанию с именем PythonApplication1.py.
- В редакторе начните вводить print("Hello, Visual Studio") . По мере ввода функция IntelliSense в Visual Studio покажет варианты автозавершения. Выделенный параметр в раскрывающемся списке — это вариант завершения по умолчанию, который применяется при нажатии клавиши TAB. Завершения очень удобны при использовании длинных инструкций или идентификаторов.
- Функция IntelliSense отображает различные сведения на основе используемого оператора, вызываемой функции и т. д. Если в функции print ввести ( после print для указания вызова функции, будет показана полная информация об использовании этой функции. Во всплывающем окне IntelliSense также полужирным шрифтом выделяется текущий аргумент (в этом случае это value):
- Допишите оператор, чтобы он соответствовал следующему коду:
print("Hello, Visual Studio")
Обратите внимание на раскраску синтаксических конструкций, которая позволяет отличить оператор print от аргумента "Hello Visual Studio" . Можно ненадолго удалить последний символ " в строке. Обратите внимание, что код, содержащий синтаксические ошибки, подчеркивается красной линией в Visual Studio. Снова введите символ " , чтобы исправить ошибку.
Совет Visual Studio предоставляет полный контроль над внешним видом и поведением среды разработки, что позволяет настроить ее, как вам нравится. Выберите пункт меню Сервис>Параметры и изучите параметры на вкладках Среда и Текстовый редактор. По умолчанию вы видите ограниченный набор параметров. Чтобы просмотреть все параметры для каждого языка программирования, щелкните Показать все параметры внизу диалогового окна.




import sys from math import cos, radians
Совет Принцип функции завершения заключается в следующем — по мере ввода появляются подстроки со словами, в которых совпадают части или буквы в начале слова, и даже отображаются пропущенные символы. Дополнительные сведения см. в руководстве по редактированию кода.
for i in range(360): print(cos(radians(i)))


