Python удалить файл, неверный путь

1

Я хочу удалить файл, расположенный на моем рабочем столе:

os.remove('C:/Benutzer/Me/Desktop/sync.txt')

Но я получаю

[Error 3] System cannot find the path

Однако файл существует в данном месте. Я могу скопировать путь и вставить в проводник. Это откроет файл.

В чем проблема?

  • 0
    Вы уверены, что «/» верны? Помните, что в Windows вам нужно использовать '\'.
  • 4
    / хорошо на окнах
Показать ещё 2 комментария
Теги:

4 ответа

4
Лучший ответ

Я полагаю, вы на Vista или 7? Тогда имейте в виду пользовательский интерфейс, чтобы сделать довольно много локализации.

Вероятно, путь действительно C:\Users\... с локализацией Benutzer в пользовательском интерфейсе.

  • 2
    Это выглядит как правильный ответ. Я гуглил и нашел это: ссылка
3

Попробуйте использовать обратную косую черту вместо косой черты, то есть 'C:\Benutzer\Me\Desktop\sync.txt' (пути стиля/окна). Чтобы избежать обратных косых черт от обращения к экранирующему символу, используйте необработанную строку:

os.remove(r'C:\Benutzer\Me\Desktop\sync.txt')
  • 1
    Этого не будет, так как / является совершенно допустимым разделителем пути в Windows.
  • 0
    не / не зависит от платформы ??
1

Вы уверены, что путь к каталогу верен, если слэши, вызывающие проблему (не обязательно), попробуйте это:

import os
filePath = 'C:' + os.path.sep + 'Benutzer' + os.path.sep + 'Me' + os.path.sep + 'Desktop' + os.path.sep + 'sync.txt'
os.remove(filePath)

преимущество использования os.path.sep здесь в том, что теперь вам не нужно беспокоиться о том, находитесь ли вы в linux или windows или что-то еще...

  • 0
    Вы принципиально правы, но это решение выглядит некрасиво. Семантически эквивалентным, но лучшим решением является filePath = os.path.join('C:', 'Benutzer', 'Me', 'Desktop', 'sync.txt') .
  • 0
    спасибо за улучшение меня.
0

Это похоже на правильный ответ. Я googled и нашел это: ссылка

Имя папки (и путь) в документах и настройках Windows XP (C:\Documents and Settings)

В Vista и 7 он перемещается в c:\Users

Ещё вопросы

Сообщество Overcoder
Наверх
Меню