spikeqzz
x = sys.getsizeof(str(string))
НЕ ВЕРНОВо первых читаем внимательно документацию, из которой узнаем что данная функция вызывает у объекта метод __sizeof__, который мы можем переопределить на свое усмотрение. На самом деле функция возвращает размер
Python объекта занимаемого в памяти, для встроенных типов данных.
Во вторых, вы сами то смотрели свой код? Чему равно x ? 29 байт - ну явно же строка записанная в файл не будет столько места занимать.
spikeqzz
string = ‘sassaassasasassf’ # Название файла while str(len(string)) not in str(10): string = string print(string)
Вот такое посылают на сайт говнокод.ру, это ужас.
spikeqzz
Это просто обрезать название файла.
просто это
,а не отдельная функция с циклом да еще и своеобразной проверкой с многократной избыточностью действий. В доказательство к этому замерем быстродейтсвие:
>>> import timeit
>>> s2="""string = 'sassaassasasassf' # Название файла
... while str(len(string)) not in str(10):
... string = string[0:-1]"""
>>> s1="""string='sassaassasasassf'
... string[:10]"""
>>>
>>>
>>> timeit.timeit(s1)
0.10035684764609484
>>> timeit.timeit(s2)
5.764144958001218
Ваш код
в 57 раз медленее. Что и не удивительно.
P.S. учитесь и со временем будете писать нормальный код.