我正在为一个学校项目做一个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等。
如果有人可以帮助我,那就太好了。 抱歉,如果我问错了我的问题。
答案 0 :(得分:0)
您可以尝试这样做以避免在结尾处使用'\ 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));
请注意,函数一旦找到return语句便会结束,如果要打印元组的值,请执行before return语句或打印返回的值。
答案 1 :(得分:0)
我对问题文件的外观有些困惑,但是从输出中我可以推断出您得到的文件看起来像这样:
一些数字
解密的文字
加密文本
如果是这样,最简单的方法就是
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
。