将输入文件转换为ASCII的Python代码

-4 投票
2 回答
1839 浏览
提问于 2025-04-27 22:20

我正在尝试写一个程序,目的是打开一个文件,读取这个文件,然后把文件里的内容转换成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)

撰写回答