0

I have a txt file that contains lines like b'111\r\n222\r\n333'.

When I read the file with

with open('raw2.txt', 'r') as f:
    nums = f.read().splitlines()

then the b-rows are turned into regular strings.

"b'111\\r\\n222\\r\\n333'"

If I read as 'rb', these lines become binary

b"b'111\\r\\n222\\r\\n333'"

How do I read the file correctly so that they look like:

b'111\r\n222\r\n333'

?

Thanks

Barmar
  • 741,623
  • 53
  • 500
  • 612
sportul
  • 47
  • 4

1 Answers1

2

Use ast.literal_eval() to parse the literal syntax.

import ast

with open('raw2.txt', 'r') as f:
    nums = list(map(ast.literal_eval, f.read().splitlines()))
Barmar
  • 741,623
  • 53
  • 500
  • 612