将非文本文件读入Python

daw*_*ife 1 python file

我想读一个非文本文件.它有一个扩展名".map",但可以通过记事本打开.我应该如何通过python打开这个文件?

file = open("path-to-file","r")不适合我.它返回No such file或directory: error.

这是我的文件的样子:

111 + gi|89106884|ref|AC_000091.1| 725803 TCGAGATCGACCATGTTGCCCGCCT IIIIIIIIIIIIIIIIIIIIIIIII 0 14:A>G 457 + gi|89106884|ref|AC_000091.1| 32629 CCGTGTCCACCGACTACGACACCTC IIIIIIIIIIIIIIIIIIIIIIIII 0 4:C>G,22:T>C 779 + gi|89106884|ref|AC_000091.1| 483582 GATCACCCACGCAAAGATGGGGCGA IIIIIIIIIIIIIIIIIIIIIIIII 0 15:A>G,18:C>G 784 + gi|89106884|ref|AC_000091.1| 226200 ACCGATAGTGAACCAGTACCGTGAG IIIIIIIIIIIIIIIIIIIIIIIII 1

如果我这样做:

file = open("D:\bowtie-0.12.7-win32\bowtie-0.12.7\output_635\results_NC_000117.fna.1.ebwt.map","rb")
Run Code Online (Sandbox Code Playgroud)

它仍然给我No such file or directory: 'D:\x08owtie-0.12.7-win32\x08owtie-0.12.7\\output_635\results_NC_000117.fna.1.ebwt.map'错误.这是因为文件不是二进制文件还是我没有权限?

会对此有所帮助!

Ign*_*ams 6

二进制文件应使用二进制模式.

f = open("path-to-file","rb")
Run Code Online (Sandbox Code Playgroud)

但是,如果您没有相应的权限或者不知道文件本身的格式,那将无济于事.

编辑:

显然你没有费心阅读错误信息,或者你会注意到它使用的文件名不是你期望的文件名.

f = open("D:\\bowtie-0.12.7-win32\\bowtie-0.12.7\\output_635\\results_NC_000117.fna.1.ebwt.map","rb")
f = open(r"D:\bowtie-0.12.7-win32\bowtie-0.12.7\output_635\results_NC_000117.fna.1.ebwt.map","rb")
Run Code Online (Sandbox Code Playgroud)