Это мой второй пост, извиняюсь, если что-то не так делаю -Постараюсь быть максимально кратким.
Я немного поискал, и большинство эскейпов приходится иметь дело со встроенными строками JSON -. На самом деле моя проблема заключается в открытии самого файла.
В настоящее время я пытаюсь сделать свой код как можно более универсальным, поэтому я использую:
file = open(os.path.expanduser(r'~/Desktop/Austin/Tweets/10_7_2012_12/09-Tweets.txt'), 'r')
Проблема в том, что когда интерпретатор видит этот код, он видит «/» в имени файла, и я думаю, что он пытается перейти в другой каталог. Я подтвердил это, удалив «/» в имени файла и набрав:
file = open(os.path.expanduser(r'~/Desktop/Austin/Tweets/10_7_2012_1209-Tweets.txt'), 'r')
И загрузился нормально.
Проблема с этим для всех этих файлов заключается в том, что у меня есть несколько сотен файлов, содержащих несколько тысяч твитов,и это немного непрактично.
Итак, мой вопрос таков :Есть ли способ загрузки файлов с косой чертой в имени файла ?
Я видел много способов загрузки файлов с помощью кнопки поиска, но ни один из них не включал способ обработки косой черты в имени... Я пробовал:
file = open(os.path.expanduser('~/Desktop/Austin/Tweets/10_7_2012_12\/09-Tweets.txt'), 'r')
и
file = open(os.path.expanduser('~/Desktop/Austin/Tweets/10_7_2012_12//09-Tweets.txt'), 'r')
Все безрезультатно.
Объяснение того, как Python обрабатывает косую черту, приветствуется, если кто-то хочет научить наивного студента.
Я использую Mac OSX на Leopard. Я запускаю поисковый робот, который взаимодействует с Twitter Streaming API; косые черты в именах являются результатом их сохранения с «/» для обозначения даты.
РЕШЕНИЕ :Вы можете использовать косую черту в именах файлов в Mac OSX. С точки зрения файловой системы / на самом деле является двоеточием, и в Finder он транслируется в /.
Объяснение Киндалла ниже :Это необходимо для слоя Carbon, который использует стандартные разделители имен файлов Mac, двоеточия. Исторически косая черта была разрешена в именах файлов Mac, начиная с 1984 года. Пользователи Mac также ожидают увидеть двоеточие, а не косую черту, в качестве разделителей путей в графическом интерфейсе (или, по крайней мере, они делали это в 2001 году, когда это поведение было введено ).