Except python не ловит ошибку виндовс FileNotFoundError | «Системе не удается найти указанный путь.»
Вопрос задан
Изменён 1 год 1 месяц назад
Просмотрен 1k раз
Дело в том что я хочу сделать так что-бы если папки нет то она сама создавалась. но except вообще не ловит эту ошибку ни в какую ни с «Windows Error» ни c «OS Error» ни просто без указания, а в интерпретаторе питона в коммандной строке вместо ошибки ‘File Not Found Error» пишет таже самая ошибка виндовс: «Системе не удается найти указанный путь.
try: config_file = f"C:/Windows/testdir" os.system(f"cd {config_file}") print(config_file) # pass except: print("Config File not Found!\nConfig File created. ..")
Вывод:
C:/Windows/testdir
Системе не удается найти указанный путь.
Пожалуйста помогите если можете
- python
- python-3.x
- windows
- исключения
- windows-10
os.path.exists
проверяет наличие папки по данному пути. Если папка была найдена, выводится путь и надпись «Config file has found!». Если нет, выводится «Config file not found! Config file created…». После этого os.mkdir
создаёт папку по указанному пути и выводит «Config file created successfully!», что означает, что папка успешно создана.
import os config_file = "C:/Windows/testdir" if os.path.exists(config_file): # проверяет наличие файла/папки print(f"{config_file}\nConfig file has found!") else: print("Config File not Found!\nCreate config file...") os.mkdir("C:/Windows/testdir") # создаёт файл/папку по указанной директории print("Config file created successfully!")
Может, у alex будет более понятно, я объяснил как мог.
alex, путь к файлам не зависит от того, какой слэш стоит, что C:/Windows/testdir
, что C:\Windows\testdir
, оба перенаправляют туда, куда надо.
IMPoRT-, в системе Windows папки адресуются не прямым слэшем, а обратным
Т.е. вместо C:/Windows/testdir
надо написать C:\Windows\testdir
Далее, когда мы переворачиваем слэш, т.е. пишем \
в питоне начинают отрабатывать специальные управляющие символы, например, \t
это табуляция, поэтому C:\Windows \testdir работать не будет. Чтобы отключить в строке питона табуляцию, вам надо вместо буквы f
в начале строки написать букву r
, т.е. r"C:\Windows\testdir"
Когда я всё это написал у себя в коде, мне система Windows сказала, что вы не имеете доступа в папку Windows, что логично. Давайте изменим путь на такой
import os config_file = r'C:\Users\ВашеИмя\testdir' os. system( f'mkdir {config_file}' ) os.system( f'cd {config_file}' ) ''' IMPoRT- '''
При повторном запуске из папки ничего не удаляется, а просто выводится сообщение о том, что папка наша уже существует. Поэтому в вашем примере можно обойтись без исключений ( exceptions ).
4Зарегистрируйтесь или войдите
Регистрация через GoogleОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
FAQ — Effector Saver
Ошибка при копировании файла в W:\base\mybase_xxxxx.dt Системе не удается найти указанный путь.
В данном случае, в качестве конечной папки указан сетевой диск, который подключается при входе пользователя в систему. Если агент efsaver запускается как служба, он не «видит» этого диска.
Измените путь к сетевой папке к виду полного сетевого пути, например: \\archiv\base
Ошибка при копировании файла в \\archiv\base\ mybase_xxxxx.dt Системе не удается найти указанный путь.
Проблема, как правило, связана с правами пользователя на доступ к сетевой папке. Права нужно смотреть того пользователя, который используется запуска службы. Например, агент efsaver запущенный как служба с системной учетной записью SYSTEM не имеет прав на сетевые ресурсы.
При попытке запуска агента как службы появляется окно ошибки «Указанная служба не установлена» или «could not open policy».
Вероятно инсталляцию службы блокирует компонент Windows UAC (User Account Control). Запустите менеджер с повышением прав до администратора. Для этого сделайте правый клик мышкой на ярлыке менеджера и выберите пункт меню «Запустить от имени администратора».
При попытке запуска агента как служба появляется окно ошибки «Неверный дескриптор».
Возможно, вы ошиблись при заполнении поля «Пользователь». Проверьте имя пользователя, который будет использоваться для запуска службы. Вероятно, данного пользователя в системе не существует.
Восстановление пароля для доступа к «Менеджеру».
Вам необходимо прислать на почту файл с данными программы esdata.db.
Все настройки/данные программы находятся в файле esdata.db. Файл расположен по следующему пути:
Если используете Effector Saver 3
Windows XP, Windows server 2003
C:\Documents and Settings\All Users\Application Data\Effector Saver 3\esdata.db
Windows 7/10, Windows server 2008/2012
C:\ProgramData\Effector Saver 3\esdata. db
Если используете Effector Saver 4
Windows XP, Windows server 2003
C:\Documents and Settings\All Users\Application Data\Effector Saver\esdata.db
Windows 7/8, Windows server 2008/2012
C:\ProgramData\Effector Saver\esdata.db
Перед копированием файла остановите службу efsaver и удалите процессы через диспетчер задач (по крайней мере те, которые присутствуют)
fagent.exe
fmanager.exe
fmonitor.exe
Архивирование средствами 1С:Предприятие 7.7 ошибка «Out of memory».
Вероятно одновременно запускается более 2-х задач Архивирование средствами 1С:Предприятие 7.7. В настройках программы установите «Разрешить одновременную работу потоков задач» в значение не больше 2.
Ошибка отключения пользователей базы 1С, Библиотека не зарегистрирована
Ошибка отключения пользователей базы 1С:. Недопустимая строка с указанием класса
Ошибка отключения пользователей базы 1С, Различаются версии клиента и сервера (8. 3.7.2027 — 8.3.8.2197), клиентское приложение: COM-администратор
Ошибка отключения пользователей базы 1С, Не найден указанный модуль, ProgID: «V83.ComConnector»
Как правило, появляется после установки новой версии ядра 1С:Предприятия.
Решение — зарегистрируйте на компьютере библиотеку comcntr.dll.
О том как зарегистрировать библиотеку, здесь
Ошибка отключения пользователей базы 1С, Ошибка операции администрирования Администратор кластера не аутентифицирован
Установите флаг «Кластер требует авторизации» если в кластере 1С:Предприятия создан пользователь «администратор кластера», заполните имя и пароль.
Важно: не путайте данного пользователя с пользователем базы 1С:Предприятия и пользователем «администратор центрального сервера».
В консоли сервера 1С:Предприятия администраторы кластера находятся по следующему пути: «Console Root» — «1C:Enterprise 8.3 Central Servers» — «(*)имя компьютера» — «Кластеры» — «Локальный кластер» — «Администраторы».
Could not open data connection to port xxxxx: Connection timed out.
Может происходить в задаче «Дополнительное копирование» при передаче файла на FTP сервер. Исправляется в настройке подключения к FTP серверу, установкой флага «Пассивный режим».
Задача запускается, появляется в активных задачах, но архив не создает.
Как правило, это происходит если в настройках задачи указан не верный логин или пароль пользователя подключения к 1С.
Перезапустите агент как приложение, что бы увидеть запускаемые окна 1С в контексте Вашего рабочего стола. Выполните задачу вручную. Если откроется окно авторизации 1С, значит неверный логин или пароль.
При выходе очередного релиза платформы 8.2 приходиться перевыбирать исполняемый файл на новый релиз.
В настройках каждой задачи, в поле «Исполняемый файл:» укажите вариант «1C:Предприятие 8.2 последний установленный релиз». После этого, агент efsaver будет автоматически использовать максимальный релиз 1С 8. 2.
Задача завершается с ошибкой «Запрос прекращения выполнения задачи (допустимое время выполнения вышло)».
Проверьте допустимое время выполнения задачи на закладке «Завершение».
Не верно указан логин или пароль подключения к 1С. Задача «зависает» на этапе авторизации 1С все отведенное ей время. Смотрите решение «Задача запускается, появляется в активных задачах, но архив не создает».
Как обновить Effector Saver до последней версии с сохранением текущих задач и настроек?
О том как обновить Effector Saver 3, здесь
О том как обновить Effector Saver 4, здесь
О том как перейти с Effector Saver 3 до версии 4, здесь
Как перенести настройки программы на другой компьютер? Как сохранить настройки если необходимо переустановить OS?
Все настройки/данные программы находятся в файле esdata.db. Файл расположен по следующему пути:
Если используете Effector Saver 3
Windows XP, Windows server 2003
C:\Documents and Settings\All Users\Application Data\Effector Saver 3\esdata. db
Windows 7/10, Windows server 2008/2012
C:\ProgramData\Effector Saver 3\esdata.db
Если используете Effector Saver 4
Windows XP, Windows server 2003
C:\Documents and Settings\All Users\Application Data\Effector Saver\esdata.db
Windows 7/10, Windows server 2008/2012
C:\ProgramData\Effector Saver\esdata.db
После установки программы на новом компьютере, замените этот файл на «старый».
Обратите внимание: версии программ, на старом компьютере и на новом, должны быть идентичны.
Если версии программ на старом компьютере и на новом разные, после замены файла настроек запустите установку программы заново (поверх) и файл настроек будет обновлен.
Возможен ли перенос Лицензии на другой компьютер?
Приобретенная Лицензия (1 копия) на программу может использоваться только на одной физической машине или в одной виртуальной среде.
Вы имеете право перенести свою Лицензию на программу на другую машину при условии, что на прежней физической машине или виртуальной среде активированная программа полностью удалена. В противном случае мы будем вынуждены отказать вам в активации. Если вам необходимо активировать несколько программ, необходимо приобрести соответствующее количество Лицензий.
После переноса Лицензии на другой компьютер, вероятно, потребуется пройти активацию программы заново.
Могут ли юридические лица пользоваться бесплатной версией программы?
Да, использование программы не запрещено лицензионным соглашением.
Как восстановить резервную копию MS SQL базы 1С?
Извлеките из архива бэкап базы.
Воспользуйтесь статьей: Восстановление резервной копии базы данных (среда SQL Server Management Studio)
Ошибка отправки e-mail «Syntactically invalid EHLO argument(s).
Имя компьютера указано кириллицей.
Зайдите в меню «Сервис» — «Параметры программы», меню «Дополнительно»
В секции «APP» в параметр
HeloName=
впишите произвольное слово используя латинские буквы (будет использоваться как идентификатор клиента при подключении к SMTP серверу вместо имени локального компьютера), например
HeloName=Effector
Ошибка Error archivator (1): error -3.
Происходит из-за того, что файл в процессе бэкапа был модифицирован. Ошибка в модуле версии программы, устранена в последних версиях Effector Saver.
Решение — обновите Effector Saver до крайнего релиза.
Ошибка отключения пользователей базы 1С, Процесс сервера не может быть запущен, так как указана неправильная идентификация. Проверьте правильность указания имени пользователя и пароля, ProgID: «V83.ComConnector» (HRESULT=8000401A)
Перейдите «Панель управления» — «Администрирование» — «Службы компонентов».
Выберите «Приложения COM+» — «V83COMConnector» — «Свойства» перейдите на вкладку «Удостоверение» и введите данные учетной записи с правами Администратора. В случае если используете домен, укажите доменную учетную запись. Подробней в материале: Решение проблемы «Недопустимая строка с указанием класса».
Ошибка! Временный файл D:\Temp\Base_full.bak заблокирован.
Установите полный доступ пользователю службы Effector Saver на папку временных файлов.
Также ошибка возникает, в случае если задача бэкапа базы SQL еще выполняется с прошлого времени запуска. Проверить это вы можете в «Журнале задач», просмотрев время окончания прошлой задачи.
Ввод пути к месту назначения вручную
Ввод пути к месту назначения вручную9 0008 | |||
РуководстваСодержаниеПредыдущийСледующий |
Вы можете ввести путь к папке назначения вручную.
Нажмите [Ввод вручную].
Нажмите [SMB].
Нажмите [Ручной ввод] справа от поля пути.
Появится виртуальная клавиатура.
Введите путь к папке.
Ниже приведен пример пути, где имя папки — «user», а имя компьютера — «desk01»: \\desk01\user.
Вместо имени компьютера также можно использовать его IPv4-адрес.
Нажмите [ОК].
В зависимости от настройки назначения введите имя пользователя для входа на клиентский компьютер.
Нажмите [Ручной ввод] справа от поля имени пользователя, чтобы отобразить экранную клавиатуру.
В зависимости от настройки назначения введите пароль для входа на клиентский компьютер.
Нажмите [Ввод вручную] для ввода пароля, чтобы отобразить программную клавиатуру.
Нажмите [Проверка соединения].
Выполняется тест подключения, чтобы проверить, существует ли указанная общая папка.
Проверьте результат проверки подключения и нажмите [Выход].
Нажмите [ОК].
Если для доступа к папке требуется аутентификация, появится экран входа в систему. Введите имя пользователя и пароль.
Если изменить протокол после ввода имени пути, имени пользователя или пароля, появится подтверждающее сообщение.
Имена компьютеров и общих папок, содержащие более 12 символов, не могут отображаться.
Чтобы изменить путь к введенной папке, нажмите [Редактировать] слева от поля назначения. Введите правильный путь к папке и нажмите [OK].
Проверка подключения может занять некоторое время.
Возможно, вы не сможете нажать [Проверка подключения] сразу после нажатия [Отмена] во время проверки подключения.
Даже если проверка соединения прошла успешно, машина может не передать файл, если у вас нет прав на запись для файла или недостаточно свободного места на жестком диске.
Путь к месту назначения можно зарегистрировать в адресной книге аппарата. Подробнее см. в разделе «Регистрация пути к выбранному месту назначения в адресной книге».
Если появляется сообщение «Не удается найти указанный путь. Пожалуйста, проверьте настройки.» 9Появляется 0132, см. «Устранение неполадок при использовании функции сканера», Устранение неполадок.
Регистрация пути к выбранному месту назначения в адресной книге
Как решить «Ошибка 1320. Указанный путь слишком длинный» во время установки Logic Protocol (SetupLA06710004) на ПК с Win10?
Как решить «Ошибка 1320. Указанный путь слишком длинный» во время установки Logic Protocol (SetupLA06710004) на ПК с Win10? — Центр знаний технической поддержки открытВключите JavaScript и перезагрузите страницу.
Начало загрузки..
сохранить СохранитьЧасто задаваемые вопросы (FAQ)
Сводка
Произошла ошибка во время установки SetupLA06710004 на ПК с Win 10.Вопрос
Произошла ошибка во время установки « SetupLA06710004″ на ПК с Win 10 для автономного анализа.Как решить «Ошибка 1320. Указанный путь слишком длинный»?
Ответ
Вероятно, это вызвано неправильной настройкой файловой системы. Я погуглил «ошибка 1320 путь слишком длинный для Windows 10» и получил много результатов, связанных с множеством разных программ установки, и все они говорили об одном и том же. Эта ссылка была третьей и казалась самой прямой и простой для понимания: Попросите клиента следовать указаниям на этом веб-сайте. Тогда ему придется удалить и переустановить LA SW.
————————————————— ————————————————— —————-
Эта проблема обычно возникает на компьютерах с предустановленной операционной системой Windows 7 или Windows Server 2008 R2, например на ноутбуках. Это вызвано неправильной точкой соединения на
http://msdn.microsoft.com/en-us/library/bb968829.aspx
Чтобы проверить правильность точки соединения:
- Откройте командную строку с повышенными привилегиями с правами администратора:
- Нажмите Start и введите
cmd.exe
в поле Поиск . - Щелкните правой кнопкой мыши cmd.exe в результатах поиска и выберите Запуск от имени администратора .
- Нажмите Start и введите
- Введите следующую команду в командную строку и нажмите ENTER :
(Если ваша операционная система установлена не на диске C:, измените букву диска соответствующим образом.)
- Проверьте путь назначения документов точка соединения:
- Если указано [C:\Users\Public\Documents] (при условии, что системный диск C: ), точка соединения верна.