Вопрос по кроссплатформенности
Всем привет!
Есть такой вопрос по кроссплатформенности.
Есть некий файл file.txt с данными в синтаксисе Питона (в моем случае есть два файла: в первом словарь, во втором приличных размеров список). Я делаю такую вещь:
fil=open('file.txt')
txt=fil.read()
fil.close()
try:
a=eval(txt)
if type(a)!=types.DictionaryType:
raise
except:
print 'Error in file.txt!'
sys.exit(1)
В файле есть много строк и синтаксис Питона это допускает. Но в винде и в линухе перевод строки обозначается по-разному. И то, что давно прекрасно работает в винде, начинает выдавать ошибки в линухе и наоборот. С оператором import таких проблем нет, но есть что-то неправильное в сохранении ДАННЫХ в исполняемом файле. Есть ли мысли, как всё это правильно организовать? Желательно, чтобы результат независел от того, в какой операционке file.txt создавался.
Есть такой вопрос по кроссплатформенности.
Есть некий файл file.txt с данными в синтаксисе Питона (в моем случае есть два файла: в первом словарь, во втором приличных размеров список). Я делаю такую вещь:
fil=open('file.txt')
txt=fil.read()
fil.close()
try:
a=eval(txt)
if type(a)!=types.DictionaryType:
raise
except:
print 'Error in file.txt!'
sys.exit(1)
В файле есть много строк и синтаксис Питона это допускает. Но в винде и в линухе перевод строки обозначается по-разному. И то, что давно прекрасно работает в винде, начинает выдавать ошибки в линухе и наоборот. С оператором import таких проблем нет, но есть что-то неправильное в сохранении ДАННЫХ в исполняемом файле. Есть ли мысли, как всё это правильно организовать? Желательно, чтобы результат независел от того, в какой операционке file.txt создавался.
