python程序运行一次再运行没啥反应

题目描述

程序运行一次再运行没啥反应

题目来源及自己的思路

相关代码

import os
import re
import csv
aa_codes = {'ALA':'A','CYS':'C','ASP':'D','GLU':'E',
'PHE':'F','GLY':'G','HIS':'H','LYS':'K','ILE':'I',
'LEU':'L','MET':'M','ASN':'N',
'PRO':'P','GLN':'Q','ARG':'R',
'SER':'S','THR':'T','VAL':'V','TYR':'Y','TRP':'W'}
def file_name(files):#默认为文件夹下的所有文件
    lst = []
    files = os.listdir(file_dir)
    
    for file in files:
        lst.append(file)
    return lst
file_dir='D:\\python代码\\new - 副本'
files=file_name(file_dir)
# print(files)
#对文件进行批量操作
def get_file(file):
    for file in files:
        res=[]
        lst1=[]
        with open (file,'r')as f:

            txts=f.readlines()
            for i in range(len(txts)):
                if(txts[i]==txts[i+1]):
                    txts[i]=""
                else:
                    continue
            for e in txts:
                if e!='':
                    res.append(e)
            for ee in txts:
                spp=re.sub(' +',',')
                s1=spp(ee)
                cd=s1.split(',')
                lst1.append([cd[3],cd[5]])
                res=res(lst1)
                res1=[]
                for ee in res:
                    res1.append(aa_codes[ee[0]])
        
            with open(e+'.csv','w') as f:
                f.write(','.join(res1))
print('ok')

你期待的结果是什么?实际看到的错误信息又是什么?

没有错误信息,就是第一次可以运行,然后再运行后面也是出现ok但是没有对文件进行任何处理,各位大赛这是咋回事啊

阅读 1.6k
2 个回答

你定义了 get_file,但是并没有调用它。你需要调用一下。

print('OK') 应该需要加上 get_file(files)


def get_file(file): 这个是不是应该是 files

除了上面回答中提到的问题,根据题目,你还应该引入fs模块才能读写文件吧。

而且你的代码可以增加一些注释,帮助理解,看了半天,不知道你到底想干什么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题