将输入文件转换为ASCII的Python代码
我正在尝试写一个程序,目的是打开一个文件,读取这个文件,然后把文件里的内容转换成ASCII字符,最后把这些字符写入一个输出文件。不过,当我运行这个程序时,出现了这样的信息:<_io.TextIOWrapper name='Output.txt' mode='r' encoding='cp1252'>
def convert_to_ascii(file,Output):
F = open(file, 'r')
B = open(Output, 'w')
F_line=str(F.readline())
for _ in F:
B.write([ord(str(F_line[i])) for i in F_line])
F.close()
B.close()
file = input('what file do you wish to convert?')
convert_to_ascii(file,'Output.txt')
p=open('Output.txt', 'r')
print(p)
2 个回答
0
我不太明白你为什么要打印输出文件。你可以试试这样做:
input_file = input("Enter the file name to read from: ")
output_file = input("Enter the file name to write to: ")
file_write = open(output_file, "w")
inputFile = open(input_file)
buffer = ""
for line in inputFile:
for i in line:
if i.isalpha():
buffer += bin(ord(i))[2:]
file_write.write(buffer)
file_write.close()
inputFile.close()
这里的 [2:] 是用来去掉输出文件中前面的 '0b' 的。
0
你可以试试这样做,
file_content = open(file, 'r').read()
file_content = ''.join(str(ord(c)) for c in file_content))
open('Output.txt','w').write(file_content)