我正在尝试读取一个.txt文件并从中创建两个新列表。用python

2024-05-15 08:21:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我是初学者。我被要求帮助我侄女完成一项学校作业。 她有示例代码要写,但必须把它整理好。还提供了一个.txt文件供使用

我将发布代码

def FileRead(FileName):

    Data = ""

    DesLine = ""

    FileContents = []

    try:
        Fpl = open(FileName,'r')
        DesLine = Fpl.readline()

        Data = Fpl.read()

    except IOError:
        print("Error unable to read file or does not exist")
        print("Exiting the programme")
        stop = input()
        Fpl.close()
        sys.exit(1)

    ListSeq = Data.split('\n')

    DnaSeq = ('').join(ListSeq)

    FileContents.append(DesLine)
    FileContents.append(DnaSeq)

    return FileContents

------------------------------------------------------------------------------

def main():


    FileContents = []

    DnaSeq = ''

    FileName = input("Enter file name: ")

    Filecontents = FileRead(FileName)

    DesLine = FileContents[0]

    DnaSeq = FileContents[1]

    print("The Contents of {:s} are : \n".format(FileContents))
    print(FileContents[0])
    print(FileContents[1])

-------------------------------------------------------------------------------

def Translate(DnaSequence, RFNumber):

    AminoAcidList = []
    AminoAcidSeq = ''

    DnaSequenceRF = DnaSequence[RFNumber:len(DnaSequence)]

    print("\n\nThe DNA sequence for Readin Frame {:} is: \n".format(RFNumber+1))
    print(DnaSequnceRF)


    for n in range(RFNumber,len(DnaSequence),3):

        codon = DnaSequence[n:n+3]

        if codon in CodonTable:
            AminoAcid = CodonTable[codon]
            AminoAcidSeq += AminoAcid
    return AminoAcidSeq

---------------------------------------------------------------------------------

AAList = []

print("\n********************All the amino acids of the Primary Strand************************\n")

for RFNumber in range(0, 3):
    AASequence_1 = Translate(DnaSeq, RFNumber)
    print("\nthe amino acid seqeunce of RF {:d} is: \n".format(RFNumber+1))
    print(AASequence_1)

    AAlist.append(AASequence_1)

stop = input("\n Press return to finish........")

-------------------------------------------------------------------------------

main()

代码运行良好,我们得到输入文件名的提示,但第43行抛出索引超出范围错误。如果有任何简单的错误,任何帮助都将不胜感激。我希望我的问题有意义

这是文本文件的一个小示例。这是新型冠状病毒SARS_COV_2.txt的基因序列

MN908947.3 Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, complete genome
ATTAAAGGTTTATACCTTCCCAGGTAACAAACCAACCAACTTTCGATCTCTTGTAGATCTGTTCTCTAAA
CGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAAC
TAATTACTGTCGTTGACAGGACACGAGTAACTCGTCTATCTTCTGCAGGCTGCTTACGGTTTCGTCCGTG
TTGCAGCCGATCATCAGCACATCTAGGTTTCGTCCGGGTGTGACCGAAAGGTAAGATGGAGAGCCTTGTC
CCTGGTTTCAACGAGAAAACACACGTCCAACTCAGTTTGCCTGTTTTACAGGTTCGCGACGTGCTCGTAC
GTGGCTTTGGAGACTCCGTGGAGGAGGTCTTATCAGAGGCACGTCAACATCTTAAAGATGGCACTTGTGG
CTTAGTAGAAGTTGAAAAAGGCGTTTTGCCTCAACTTGAACAGCCCTATGTGTTCATCAAACGTTCGGAT
GCTCGAACTGCACCTCATGGTCATGTTATGGTTGAGCTGGTAGCAGAACTCGAAGGCATTCAGTACGGTC
GTAGTGGTGAGACACTTGGTGTCCTTGTCCCTCATGTGGGCGAAATACCAGTGGCTTACCGCAAGGTTCT
TCTTCGTAAGAACGGTAATAAAGGAGCTGGTGGCCATAGTTACGGCGCCGATCTAAAGTCATTTGACTTA
GGCGACGAGCTTGGCACTGATCCTTATGAAGATTTTCAAGAAAACTGGAACACTAAACATAGCAGTGGTG
TTACCCGTGAACTCATGCGTGAGCTTAACGGAGGGGCATACACTCGCTATGTCGATAACAACTTCTGTGG
CCCTGATGGCTACCCTCTTGAGTGCATTAAAGACCTTCTAGCACGTGCTGGTAAAGCTTCATGCACTTTG
TCCGAACAACTGGACTTTATTGACACTAAGAGGGGTGTATACTGCTGCCGTGAACATGAGCATGAAATTG
CTTGGTACACGGAACGTTCTGAAAAGAGCTATGAATTGCAGACACCTTTTGAAATTAAATTGGCAAAGAA
ATTTGACACCTTCAATGGGGAATGTCCAAATTTTGTATTTCCCTTAAATTCCATAATCAAGACTATTCAA
CCAAGGGTTGAAAAGAAAAAGCTTGATGGCTTTATGGGTAGAATTCGATCTGTCTATCCAGTTGCGTCAC
CAAATGAATGCAACCAAATGTGCCTTTCAACTCTCATGAAGTGTGATCATTGTGGTGAAACTTCATGGCA
GACGGGCGATTTTGTTAAAGCCACTTGCGAATTTTGTGGCACTGAGAATTTGACTAAAGAAGGTGCCACT
ACTTGTGGTTACTTACCCCAAAATGCTGTTGTTAAAATTTATTGTCCAGCATGTCACAATTCAGAAGTAG
GACCTGAGCATAGTCTTGCCGAATACCATAATGAATCTGGCTTGAAAACCATTCTTCGTAAGGGTGGTCG
CACTATTGCCTTTGGAGGCTGTGTGTTCTCTTATGTTGGTTGCCATAACAAGTGTGCCTATTGGGTTCCA
CGTGCTAGCGCTAACATAGGTTGTAACCATACAGGTGTTGTTGGAGAAGGTTCCGAAGGTCTTAATGACA
ACCTTCTTGAAATACTCCAAAAAGAGAAAGTCAACATCAATATTGTTGGTGACTTTAAACTTAATGAAGA
GATCGCCATTATTTTGGCATCTTTTTCTGCTTCCACAAGTGCTTTTGTGGAAACTGTGAAAGGTTTGGAT
TATAAAGCATTCAAACAAATTGTTGAATCCTGTGGTAATTTTAAAGTTACAAAAGGAAAAGCTAAAAAAG
GTGCCTGGAATATTGGTGAACAGAAATCAATACTGAGTCCTCTTTATGCATTTGCATCAGAGGCTGCTCG
TGTTGTACGATCAATTTTCTCCCGCACTCTTGAAACTGCTCAAAATTCTGTGCGTGTTTTACAGAAGGCC
GCTATAACAATACTAGATGGAATTTCACAGTATTCACTGAGACTCATTGATGCTATGATGTTCACATCTG
ATTTGGCTACTAACAATCTAGTTGTAATGGCCTACATTACAGGTGGTGTTGTTCAGTTGACTTCGCAGTG
GCTAACTAACATCTTTGGCACTGTTTATGAAAAACTCAAACCCGTCCTTGATTGGCTTGAAGAGAAGTTT
AAGGAAGGTGTAGAGTTTCTTAGAGACGGTTGGGAAATTGTTAAATTTATCTCAACCTGTGCTTGTGAAA
TTGTCGGTGGACAAATTGTCACCTGTGCAAAGGAAATTAAGGAGAGTGTTCAGACATTCTTTAAGCTTGT
AAATAAATTTTTGGCTTTGTGTGCTGACTCTATCATTATTGGTGGAGCTAAACTTAAAGCCTTGAATTTA
GGTGAAACATTTGTCACGCACTCAAAGGGATTGTACAGAAAGTGTGTTAAATCCAGAGAAGAAACTGGCC
TACTCATGCCTCTAAAAGCCCCAAAAGAAATTATCTTCTTAGAGGGAGAAACACTTCCCACAGAAGTGTT
AACAGAGGAAGTTGTCTTGAAAACTGGTGATTTACAACCATTAGAACAACCTACTAGTGAAGCTGTTGAA

Tags: oftheinputdatareturndeffilenamefpl