IT Блог

Документации и переводы

Статьи на технические темы

Рекурсивное удаление файла в python

Удаление файла

Стандартное удаление файла в python:

import os
os.remove(path)

path - путь до папки.

Удаление папки

Для удаления папки нужно подключить специальный пакет shutil:

import shutil
shutil.rmtree(path, True)

path - путь до папки.

Аргумент True в методе rmtree() позволяет команде игнорировать ошибки, которые могут встретиться при удалении каталога.

Рекурсивное удаление файлов и папок

Недавно надо было удалить ненужный файл placeholder из некоторого числа вложенных папок. Немного допилив чужой скрипт, у меня вышла следующая полезная функция, которая удаляет и файлы, и папки по заданному имени (при необходимости можно этот скрипт модифицировать для удаления только файла или только папки).

import...

Проблема при отправке данных на сервер с помощью ajax

Обновление зависимостей проекта - всегда "весёлая" штука. Бывает после обновления отваливается какая-то функциональность. Обнаружить поломки нам помогают автоматизированные тесты, которые помогли и мне после того как я обновил Django до версии 1.5.

После обновления возникла проблема: view перестал видеть данные отправленные через аjax. Решением послужило удаление всего одного параметра при вызове метода ajax - contentType: "application/json". Поэтому, если у вас что-то похожее на мой код:

$.ajax({
    type: 'POST',
    contentType: "application/json",
    url: '{% url 'my_app.views.my_ajax_hander' %}',
    data: data_dict,
}).done(function(result) {
        some_function()
    });

то уберите строчку - contentType: "application/json", и у вас должно заработать.


range цикл в шаблоне Django

Бывают случаи, когда нужно в шаблоне пройтись циклом не по объектам, а по диапазону значений. Но шаблонный движок Django этого не позволяет. Также нет специального фильтра в стандартном наборе фильтров Django, но можно легко написать свой. Например так: в файле my_app/templatetags/my_filters.py пишем:

@register.filter
def create_range(value, start_index=0):
    return range(start_index, value+start_index)

И теперь в шаблоне уже можно использовать созданный фильтр:

{% load my_filters %}
{% for i in 10|create_range %}
...
{% endfor %}

Если нам нужно возвращать i, начиная с единицы, то используем в шаблоне так:

{% load my_filters %}
{% for i in 10|create_range:1 %}
...
{% endfor %}

Для тех, кто продаёт через свой профиль в соц. сетях: моя сестра, Анастасия Мальцева запустила свой курс: «Комфортные продажи через контент»

Все знания построены на собственном опыте и имеют хороший результат, поэтому если вы продаёте товары или услуги и хотите повысить эффективность вашего аккаунта или сайта, то курс будет для вас полезен!

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте

Выберите валюту для отображения денежных единиц