Вам нужно не strip
, а replace
:
v = '###hi#python#python###'
x = v.replace('#', '')
print(x)
Вывод:
hipythonpython
Поскольку дополнение к ответу @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.
Еще лучше позвольте документации сделать это для Вас: http://docs.python.org/library/functions.html#open. Ваша проблема в вопросе - то, что нет никакого "rw" режима... Вы, вероятно, хотите 'r +', как Вы записали (или '+', если файл еще не существует).
На самом деле это хорошо, но я нашел "rw" режим на сокете в следующем коде (для Python на S60) в строках 42 и 45:
http://www.mobilenin.com/mobilepythonbook/examples/057-btchat.html