【发布时间】:2017-03-29 06:52:17
【问题描述】:
我在 python 中编写了一个二进制解码器,但我无法将文本文件通过它。
"""
Date :28/3/17
File Name:binary_to_string.py
"""
import sys
def binary_to_str(binary_string):
"""
This function take a binary string as argument and convert to string
:param binary_string: string in 0 or 1 from
:return:
"""
bits = 8 # initialize bit to 8 means by default we are assuming 8 bit binary
# checking for backslash if we found first 8 bit give backslash then we reassign bit to 7
if ord(chr(int(binary_string[:8], 2))) == 145:
bits = 7
result_string = ''
# iterate all group of 7 or 8 character in binary string based on bits
# and append to result string
for i in range(0, len(binary_string), bits):
result_string += chr(int(binary_string[i:i + bits], 2))
return result_string
def read_file(file_name):
"""
This function takes file name as input and read file line by line and
append to binary_str and return it
:param file_name:
:return:
"""
binary_str = ''
with open(file_name, 'r') as f:
for line in f:
binary_str += line.strip()
return binary_str
if __name__ == '__main__':
input_file = sys.argv[1]
print(binary_to_str(read_file(input_file)))
我正在尝试传递带有二进制消息的文本文件:
100100011001011101100110110011011110100000101011111011111110010110110011001000100001
位于我的 pythonpractice 文件夹中的文本文件 binary1.txt 以及我的 binary_to_string.py 文件中。
我从终端收到的错误如下:
bthib@bthib-cyberstorm ~ $ cd pythonpractice
bthib@bthib-cyberstorm ~/pythonpractice $ python ./binary_to_string.py > binary1.txt
/usr/bin/python: can't find '__main__' module in './binary_to_string.py'
【问题讨论】:
-
第二个是你的脚本名称输入不正确造成的。
-
我意识到我第二次尝试编译时打错了,我再次尝试没有错字,它给出了错误“找不到'main'模块在'./binary_to_string.py'@kindall
-
这个错误好像你在当前目录中有一个名为'binary_to_string.py'的目录。