• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

f.write экранезирует кол-во символов!

  • Автор темы Автор темы Vlg
  • Дата начала Дата начала
  • Теги Теги
    python3.4

Vlg

Green Team
02.11.2019
117
1
BIT
19
Это таааааааааааак раздражает, ведь это тааааааааааааааааааак тормозит прогу! Короче есть известная функция write() для работы с файлами.
Так вот, когда происходит запись на фаил функция экранезирует количество записанных символов. А как от этого избавится?Сразу говорю что заключения функции в другую функцию не является ее полным решением:
Python:
def writ(file,i):
    file.write(i)
    return None #эта строка не обязательна
Выше стоящий код не является решением так как он не оптимизирует, а лишь затрудняет и в общем загромождает прогу.
Верно?
 
Решение
Разве эта , как ты сказал, обёртка не уменьшает скорость работы программы?
Но опять же будет сильно заторможена работа.
1. Ничего не будет заторможено.
2. Если ты гонишься за такими миллисекундами, то ты изначально не тот язык выбрал.
Это и есть полная строка. Просто передаешь вывод функции в переменную '_'.
Сейчас попробую

Это и есть полная строка. Просто передаешь вывод функции в переменную '_'.
Так-то работает, но мне хотелось бы научить функцию не выводить число. Может кто-то знает где находится фаил с этой функцией
 
Так-то работает, но мне хотелось бы научить функцию не выводить число. Может кто-то знает где находится фаил с этой функцией
Очень не рекомендую редактировать встроенные функции Python. Крайне плохая идея.
Если не хочется передавать вывод в переменную, то юзай обёртку из первого сообщения.
 
Очень не рекомендую редактировать встроенные функции Python. Крайне плохая идея.
Если не хочется передавать вывод в переменную, то юзай обёртку из первого сообщения.

Python:
def writ(file,i):
file.write(i)
return None #эта не обязательная строка
Разве эта , как ты сказал, обёртка не уменьшает скорость работы программы? И ещё вот что. Ты предложил выводить результат функции write() в переменную. Но! Так как эта функция будет вызывается более 100000 раз(в прямом смысле) и у переменной _ будет каждый раз новое значение, а для значения переменной выделяется ячейка с id. Если у меня будет множество разных значений которые будут внесены в переменную будет создано множество id, а в следствии чего может спровоцировано ошибка MemoryError, хотяяя... А если через каждые 100 значения удалять все значения? Может и сработать. Но опять же будет сильно заторможена работа. Что предложешь?
 
Разве эта , как ты сказал, обёртка не уменьшает скорость работы программы?
Но опять же будет сильно заторможена работа.
1. Ничего не будет заторможено.
2. Если ты гонишься за такими миллисекундами, то ты изначально не тот язык выбрал.
 
Последнее редактирование:
Решение
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!