Как записать CSV-файл в определенную папку

Если у вас будет переменное количество обратных ссылок, количество аргументов (и мест) также будет переменной. MDN Web Docs описывают синтаксис follwing для разделения функции как аргумента замены:

function replacer(match[, p1[, p2[, p...]]], offset, string)

Например, возьмите эти регулярные выражения:

var searches = [
    'test([1-3]){1,3}',  // 1 backreference
    '([Ss]ome) ([A-z]+) chars',  // 2 backreferences
    '([Mm][a@]ny) ([Mm][0o]r[3e]) ([Ww][0o]rd[5s])'  // 3 backreferences
];
for (var i in searches) {
    "Some string chars and many m0re w0rds in this test123".replace(
        new RegExp(
            searches[i]
            function(...args) {
                var match = args[0];
                var backrefs = args.slice(1, args.length - 2);
                // will be: ['Some', 'string'], ['many', 'm0re', 'w0rds'], ['123']
                var offset = args[args.length - 2];
                var string = args[args.length - 1];
            }
        )
    );
}

Здесь вы не можете использовать переменную «arguments», потому что она имеет тип Arguments и no типа Array, поэтому у нее нет метода slice().

0
задан Torxed 1 March 2019 в 12:26
поделиться

2 ответа

Вы можете добавить проверку для каталога, как это непосредственно перед open оператором

dir_path = 'folder_to_save_csv_file_in'
if not os.path.isdir(dir_path):
    os.makedirs(dir_path)

with open('{file_path}.csv'.format(file_path=os.path.join(dir_path, file_name), 'w+') as csv_file:
    ....
0
ответ дан sanster_23 1 March 2019 в 12:26
поделиться

Вместо использования os я рекомендую использовать модуль pathlib. Вы можете создать каталог с помощью:

path = Path('path/to/dir')
path.mkdir(parents=True)

, чтобы создать каталог и все его отсутствующие родительские каталоги. После этого вы можете создать файл в новом каталоге с помощью

fpath = (path / 'filename').with_suffix('.csv')
with fpath.open(mode='w+') as csvfile:
    # your csv writer code
0
ответ дан Banneisen 1 March 2019 в 12:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: