for root, dirs, files in os.walk(path)

poi io ho printato le variabili e visto che sono liste. siccome devo controllare tutti i file dentro tutte le cartelle e sotto cartelle avevo pensato di usare os.path.join(dirs, files) ma non lo fa perchè sono liste
Essendo liste dovrei annidare un ulteriore ciclo for in cui cicli sui singoli elementi al loro interno.

riguardo al file questa cosa non la sapevo, come mai ottengo linee senza terminatore in quel modo? dove le hai lette ste cose?
Beh, perchè è cosi e basta direi. =)
L'oggetto tornato da open() può essere utilizzato con il for, che cicla le sue linee.