Попытка вывести список каталогов в файл CSV - PullRequest
0 голосов
/ 07 ноября 2018

Я довольно плохо знаком с Python и программированием в целом, поэтому надеюсь, что вы не возражаете, если я задам, возможно, очень простой вопрос.

Я использую следующий код для вывода списка каталогов, чтобы преуспеть.

import os

a = open('H:\output.csv', "w")
for path, subdirs, files in os.walk(r'.'):
    for filename in files:
        f = os.path.join(path, filename)
        a.write(str(f) + os.linesep)

Проблема в том, что некоторые имена файлов обрезаются и вместо того, чтобы целиком содержаться в столбце A, последние 6 или около того символов разделяются на столбец B.

Кроме того, между каждой строкой есть разрыв строки, от которого в идеале я бы хотел избавиться.

Наконец, я хотел бы иметь второй столбец, который содержит только имя файла, а не полный путь.

1 Ответ

0 голосов
/ 07 ноября 2018

Попробуй это. Он включает пути к файлам и имена файлов, каждый из которых заключен в двойные кавычки ("), что, я думаю, могло бы избежать проблемы. Я также должен был указать кодировку для выходного файла, потому что в моей системе пути Unicode, но режим по умолчанию для файлов нет.

import os

a = open('dirfiles.csv', "w", encoding='utf8')
for path, subdirs, files in os.walk(r'.'):
    for filename in files:
        f = os.path.join(path, filename)
        a.write('"%s","%s"' % (f, filename) + os.linesep)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...