我正在为一个学校项目做一个python解密程序。首先,我有一个函数谁将文件作为参数。然后我必须逐行采取并返回一个元组。这个文件包含3件事: - 一个数字(无论它是什么), - 解密文本, - 加密文本)
import sys
fileName = sys.argv[-1]
def load_data(fileName):
tuple = ()
data = open(fileName, 'r')
content = data.readlines()
for i in contenu:
tuple += (i,)
return tuple #does nothing why?
print(tuple)
load_data(fileName)
输出:
('13\n', 'mecanisme chiffres substituer\n', "'dmnucmnn gmnuaetiihmnunofrutfrmhamprmnunshusfua f ludmuaoccsfta rtofumruvosnu vmzul ur aemudmulmnudmaetiihmhulmnucmnn gmnuaetiihmnunofrudtnpoftblmnunosnul uiohcmudusfurmxrmuaofnrtrsmudmulmrrhmnuctfsnaslmnun fnu aamfrumrudmua h armhmnubl fanuvosnun vmzuqsmulmucma ftncmudmuaetiihmcmfrusrtltnmuaofntnrmu unsbnrtrsmhulmnua h armhmnudsucmnn gmudmudmp hrup hudu srhmnumfuhmnpmar frusfudtartoff thmudmuaetiihmcmfr'")
需要的输出:
(13,'mecanisme chiffres substituer','dmnucmnn gmnuaetiihmnunofrutfrmhamprmnunshusfua f ludmuaoccsfta rtofumruvosnu vmzul ur aemudmulmnudmaetiihmhulmnucmnn gmnuaetiihmnunofrudtnpoftblmnunosnul uiohcmudusfurmxrmuaofnrtrsmudmulmrrhmnuctfsnaslmnun fnu aamfrumrudmua h armhmnubl fanuvosnun vmzuqsmulmucma ftncmudmuaetiihmcmfrusrtltnmuaofntnrmu unsbnrtrsmhulmnua h armhmnudsucmnn gmudmudmp hrup hudu srhmnumfuhmnpmar frusfudtartoff thmudmuaetiihmcmfr')
元组需要像这样(count,word_list,crypted),13作为count等等。
如果有人可以帮助我,那就太好了。对不起,如果我错误地问我的问题..
您可以尝试这样做以避免最后的'\ n'字符
import sys
fileName = sys.argv[-1]
def load_data(fileName):
tuple = ()
data = open(fileName, 'r')
content = data.readlines()
for i in content:
tuple += (i.strip(''' \n'"'''),)
return tuple
print(load_data(fileName));
注意,如果要在返回语句之前打印tuple的值,或者打印返回的值,则函数在找到return语句时结束。
我对有问题的文件看起来有点困惑,但从我从输出中可以推断出你得到的文件看起来是这样的:
一些数字
解密的文字
加密文本
如果是这样,那么最简单的方法就是
with open('lines.txt','r') as f:
all_the_text = f.read()
list_of_text = all_the_text.split('\n')
tuple_of_text = tuple(list_of_text)
print(tuple_of_text)
说明:open
内置函数创建一个允许您与文件交互的对象。我们使用open
和'r'
这个参数让它知道我们只想从文件中读取。在with语句中执行此操作可确保在完成文件后正确关闭文件。 as
关键字后跟f
告诉我们,我们希望将文件对象放入变量f中。 f.read()读入文件中的所有文本。 python中的字符串对象包含一个split
方法,该方法将字符串分隔成一些分隔符,而不将分隔符放入分隔的字符串中。 split
方法将返回结果列表。要将它放入元组中,只需将列表传递给tuple
即可。