l4222 2023-09-13 09:20 采纳率: 88.9%
浏览 4
已结题

(标签-python|关键词-output)结果文件里没有内容

运行一个python的语句,如下:

python3 test.py test1.csv test2.tab test3.txt output.txt

test.py的代码如下:

import sys
 
nr_cog = sys.argv[1]
cog_tab = sys.argv[2]
blast = sys.argv[3]
output = sys.argv[4]

#读取 NR 和 COG 映射关系
nr = {}
 
nr_cog = open(nr_cog, 'r')
for line in nr_cog:
    line = line.split(',')
    if line[2] not in nr:
        nr[line[2]] = [line[6]]
    elif line[6] not in nr[line[2]]:
        nr[line[2]].append(line[6])
 
nr_cog.close()
 
#读取 COG 功能和分类描述
cog = {}
 
cog_tab = open(cog_tab, 'r')
for line in cog_tab:
    line = line.split('\t')
    cog[line[0]] = '\t'.join(line[0:3])
 
cog_tab.close()
 
#读取 blast 比对结果,根据 NR id,将 COG id、描述、分类等信息匹配在后方
output = open(output, 'w')
blast = open(blast, 'r')
print(f'{blast.readline().strip()}\tCOG_name\tCOG_class\tCOG_description', file = output)
 
for line in blast:
    line = line.strip()
    id = line.split('\t')[5]
    if id in nr:
        for id2 in nr[id]:
            print(f'{line}\t{cog[id2]}', file = output)
 
blast.close()
output.close()

整个过程没有报错,但是最后的结果文件output.txt里只有表头,没有内容,麻烦帮忙看下是不是#读取 blast 比对结果,根据 NR id,将 COG id、描述、分类等信息匹配在后方,那一块数据没有写进output.txt里,问题出在哪里呢?谢谢

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-13 12:23
    关注

    【以下回答由 GPT 生成】

    要正确运行这个Python脚本并将输出保存到文件中,你需要按照以下步骤进行操作:

    1. 首先,确保你的系统上已经安装了Python环境。你可以通过在终端中输入python --version来确认Python版本是否已经安装。如果没有安装,请根据你的操作系统和版本安装Python。

    2. 将Python脚本保存到一个文件中,比如script.py

    3. 打开终端,并进入脚本所在的目录。

    4. 确保你的输入文件 nr_cogcog_tabblast 已经准备好,并且位于与脚本相同的目录中。确保输出文件所指定的路径是可写的。

    5. 在终端中,运行以下命令来执行脚本并将输出保存到文件中:

    python script.py nr_cog cog_tab blast output
    

    其中,nr_cogcog_tabblastoutput 是你的输入文件和输出文件的路径。请将其替换为你自己的路径。

    1. 执行脚本后,脚本将会读取输入文件的内容,并将结果输出到指定的输出文件中。

    请注意,在运行脚本之前,你还需要确保脚本中缺失的部分已经被填充完整。在你提供的代码示例中,最后有一个if id in nr:的条件判定,但是条件的内容没有给出。你需要根据你的需求将其补充完整。

    希望这个解决方案对你有帮助!如果你还有其他问题,请随时提问。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月21日
  • 已采纳回答 9月13日
  • 创建了问题 9月13日

悬赏问题

  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?
  • ¥15 请问GPT语言模型怎么训练?