Деталь режимов файла Python

Вам нужно не strip, а replace:

v = '###hi#python#python###'
x = v.replace('#', '') 

print(x)

Вывод:

hipythonpython
12
задан Peter Mortensen 15 April 2015 в 16:06
поделиться

3 ответа

Поскольку дополнение к ответу @Jarret Hardie здесь состоит в том как режим файла проверки Python в функции fileio_init ():

s = mode;
while (*s) {
    switch (*s++) {
    case 'r':
        if (rwa) {
        bad_mode:
            PyErr_SetString(PyExc_ValueError,
                    "Must have exactly one of read/write/append mode");
            goto error;
        }
        rwa = 1;
        self->readable = 1;
        break;
    case 'w':
        if (rwa)
            goto bad_mode;
        rwa = 1;
        self->writable = 1;
        flags |= O_CREAT | O_TRUNC;
        break;
    case 'a':
        if (rwa)
            goto bad_mode;
        rwa = 1;
        self->writable = 1;
        flags |= O_CREAT;
        append = 1;
        break;
    case 'b':
        break;
    case '+':
        if (plus)
            goto bad_mode;
        self->readable = self->writable = 1;
        plus = 1;
        break;
    default:
        PyErr_Format(PyExc_ValueError,
                 "invalid mode: %.200s", mode);
        goto error;
    }
}

if (!rwa)
    goto bad_mode;

Это: только "rwab+" символы позволяются; должен быть точно один из "rwa", самое большее один '+' и 'b' noop.

12
ответ дан 2 December 2019 в 05:15
поделиться

Еще лучше позвольте документации сделать это для Вас: http://docs.python.org/library/functions.html#open. Ваша проблема в вопросе - то, что нет никакого "rw" режима... Вы, вероятно, хотите 'r +', как Вы записали (или '+', если файл еще не существует).

17
ответ дан 2 December 2019 в 05:15
поделиться

На самом деле это хорошо, но я нашел "rw" режим на сокете в следующем коде (для Python на S60) в строках 42 и 45:

http://www.mobilenin.com/mobilepythonbook/examples/057-btchat.html

0
ответ дан 2 December 2019 в 05:15
поделиться
Другие вопросы по тегам:

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