быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
||||||||||||||||
1 | ||||||||||||||||
Как вывести содержимое директории, используя os.listdir?24.11.2016, 21:18. Показов 13456. Ответов 11
Метки нет (Все метки)
Друзья! Нахожусь в папке C:\foo, там имеется файл C:\foo, посмотрим его содержание:
0
|
24.11.2016, 21:18 | |
Ответы с готовыми решениями:
11
Вывести на экран содержимое директории Как вывести содержимое кавычек, используя регулярные выражения? Как используя библиотеку itext sharp вывести содержимое бд в pdf файл? Как просмотреть содержимое директории? [mercurial] Как установит, чтобы содержимое директории не учитывалось в проекте |
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
||||||||||||||||
25.11.2016, 15:01 [ТС] | 3 | |||||||||||||||
оно конечно, помогает "C:", но ещё больше вопросов возникает. Ну, например, почему в таком случае "C:" воспринимается интерпретатором как текущий каталог и как с этим бороться?
++++++++++++++++++++++++++++++++++ Зададимся целью написать функцию, рекурсивно выводящую все файлы и папки в указанной папке. Для нашего случая хорошо бы указать глубину рекурсии, вдруг кто будет запускать. Но я опускаю её для краткости:
1) Писать re ("С:") неправильно, как мы выяснили 2) Писать re ("С:") вроде как правильно, только результаты получаются:
++++++++++++++++++++++++++++++++++++++++++++ Ниже я привёл проверку на то, есть ли в строке двойные слэши и если есть, убираю один. Такая проверка всегда будет корявой, даже если её пригладить. Считай, из-за статистически редкого случая (когда исходная папку суть имя диска) всегда загружать интерпретатор лишней проверкой и загромождать код. Грустно.
0
|
26 / 26 / 23
Регистрация: 28.09.2016
Сообщений: 91
|
|
25.11.2016, 15:57 | 4 |
Провёл такой эксперимент: Запустил скрипт main.py в папке d:\foo - отработал нормально, вывелось содержание c:, потом такой же скрипт запустил из папки c:\foo, теперь вывелось содержание папки c:\foo. Запустил опять из d:\foo, вывелось содержание d:\foo. После перезагрузки ПК при запуске из d:\foo опять выводится правильно, содержание c:\
Эксперимент повторил, то же самое. Сейчас скриншоты приложу.
0
|
26 / 26 / 23
Регистрация: 28.09.2016
Сообщений: 91
|
|
25.11.2016, 16:00 | 5 |
Эксперимент.
0
|
26 / 26 / 23
Регистрация: 28.09.2016
Сообщений: 91
|
|
25.11.2016, 16:08 | 6 |
Вообще фигня какая та. Невероятно, но факт, у меня скрипт выполняется по разному, в зависимости от того в какой папке было второе неактивное окно в Total Commander'е в момент запуска cmd.
0
|
26 / 26 / 23
Регистрация: 28.09.2016
Сообщений: 91
|
|
25.11.2016, 16:20 | 7 |
А вот и ответ
0
|
26 / 26 / 23
Регистрация: 28.09.2016
Сообщений: 91
|
||||||
25.11.2016, 16:24 | 8 | |||||
Предлагаю такое решение:
0
|
563 / 303 / 189
Регистрация: 20.05.2016
Сообщений: 592
|
||||||||||||||||
25.11.2016, 16:30 | 9 | |||||||||||||||
потому что вместо
1
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
25.11.2016, 23:29 [ТС] | 10 |
0
|
26 / 26 / 23
Регистрация: 28.09.2016
Сообщений: 91
|
|
26.11.2016, 03:40 | 11 |
Этот.
Получается что есть разница каким образом запускать и откуда запускать. Если этот main.py сам находится на d: и запустить без cmd через проводник, тогда выведется содержание c:. Если запустить cmd и в нём на c: зайти в какую нибудь папку, потом перейти обратно на d: и запустить main.py, то уже выведется содержимое той папки, в которую мы зашли на c: Добавлено через 4 минуты Мой вывод, c: это не законченный путь, а просто указание на диск, к которому добавляется путь текущей директории конкретно для этого диска.
1
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
||||||
26.11.2016, 14:20 [ТС] | 12 | |||||
keepermag, ну я решил твой эесперимент повторить, но не дошёл, споткнулся на полпути о другую непонятку:
Итак, как я уже писал, скрипт, запущенный в C:\foo выводит список файлов текущей папки ТОТ ЖЕ СКРИПТ запущенный в PyCharm (Ctrl +Shift +F10) выводит список диска C Дальше я не пошёл. Грустно всё это. Конечно, "C:" решает, но что в таком случае строка "C:" и по каким правилам она интерпретируется интерпретатором в разных ситуациях?! Загадка! ++++++++++++++++++++++++++++++++++= Добавлено через 6 минут Так уж сразу:
0
|
26.11.2016, 14:20 | |
26.11.2016, 14:20 | |
Помогаю со студенческими работами здесь
12
Используя только операцию OUTCH, вывести содержимое регистра AX Вывести содержимое всех элементов массива структур на экран (используя указатели) Как удалить директории с поддиректориями, не используя -r? Вывести содержимое корневого каталога логического диска А, используя Handle-ориентирование и 13 прерывание Как узнать размер директории, используя рекурсию Вывести в консоль все файлы и директории, какие есть в текущей директории Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |