Библиотека регулярных выражений работает со строками. Открытый файл с именем pass_file в вашем примере - это объект, из которого вы можете получать строки, по одной строке за раз или фрагменту заданного размера (в символах или байтах).
Чтобы получить все непрерывные последовательности символов слова и пробелов из вашего файла, вы можете заменить вторую строку до последней на что-то вроде:
read = [re.findall('[ \w]*', line) for line in pass_file]
Если вам не нужны все строки нулевой длины между каждым символом, который не является символом слова или пробелом, вы можете сказать, что класс символов должен присутствовать один или несколько раз, а не ноль или более, как это делает ваше текущее регулярное выражение :
read = [re.findall('[ \w]+', line) for line in pass_file]
Они оба дают вам список, содержащий списки с вхождениями в каждой строке. Если вы хотите все это в одном списке, вы можете заменить что-то вроде этого:
read = []
for line in pass_file:
read.extend(re.findall('[ \w]+', line))