从文件到元组逐行获取信息

时间:2019-03-02 11:30:47

标签: python file tuples

我正在为一个学校项目做一个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等。

如果有人可以帮助我,那就太好了。 抱歉,如果我问错了我的问题。

2 个答案:

答案 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