Найти - Пользователи
Полная версия: Почему не создается txt файл
Начало » Python для новичков » Почему не создается txt файл
1
ArtemGubatenko
Доброго времени суток.

  • На ОС Windows 7 поставил - Anaconda 3.
  • Создал папку в корне диска D:. Название папки на русском.
  • В папку положил скрипт на питоне (.py).
  • Указал путь к программе для запуска этого скрипта на интерпритатор питона в анаконде.
  • В свойствах папки со скриптом, во вкладке “Безопасность”, дал пользователям полные права на папку.
  • В планировщике windows настроил запуск каждые 3 дня.


Задача скрипта: получить данные (клиенты, заказы) из интернета, обработать их образовав словарь, отправить СМС клиентам в цикле по api.
Результат отправки дописать в словарь.
В конце, записать отчет в .txt файл из результирующего словаря.

Проблема: в данной windows почти всегда не создает файл отчета, хотя в linux и другой windows все норм. СМС отправляет.
В Anaconda Prompt - никаких ошибок не выдает, но и отчет не создает.

Прошу помощи. Может кто сталкивался?

Функция создающая файл:
 def writeResIFile(w_data):
    """Записываем в файл
    Создаем отчет результата работы скрипта
    
    @param dict w_data - двухуровневый словарь с данными для записи
    
    """
    
    # создаем наименование для файла отчета
    date_str = datetime.today().strftime("%d%m%y_%H%M%S")
    file_name = date_str + ".txt"
    f_report = open(file_name, "w")
   
    for wr_data in w_data.values():
        
        data = wr_data['agent'] + ', ' + wr_data['phone']
        data += ', долг: ' + str(wr_data['debt'])
        data += ' (сумма отгрузки: ' + str(wr_data['sum'])
        data += ', оплаченная сумма: ' + str(wr_data['payedSum'])
        data += '), дата отгрузки: ' + wr_data['scoreDate']
        data += ', результат отправки смс: ' + wr_data['res_sms']
        data += ', id смс: ' + str(wr_data['sms_id'])
        
        f_report.write(data + "\n")
        
    f_report.close()
vic57
ArtemGubatenko
f_report.write(data + “\n”)
1. попробуй каталог с латинским именем
2. путь относительный - может создает, да не туда?
ArtemGubatenko
vic57
2. путь относительный - может создает, да не туда?
В другой windows 7 создавал в ту же папку, с которой запускался скрипт. В Линукс -также.

vic57
1. попробуй каталог с латинским именем
Попробую. спасибо за ответ.
doza_and
ArtemGubatenko
В другой windows 7 создавал в ту же папку
В ту же папку что и какую? В вас файл создается не в “туже папку” а в текущую директорию. Программа может менять текущую директорию во время работы. windows может вообще от балды выбрать текущую директорию запуска.

Укажите абсолютный путь. Желательно без русских букв пробелов и другой ерунды. Тогда будете уверены где искать файл.

Перед и после записи сделайте записи в лог или на консоль если таковая у вас есть. Это позволит убедиться что до записи дело доходит и при записи ошибок не возникает.
ArtemGubatenko
Доброго времени суток.

Всем спасибо за помощь.
Указал абсолютный путь и переименовал папку латиницей. Все пишет.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB