l4222 2023-08-21 16:20 采纳率: 88.9%
浏览 13
已结题

linux中运行python命令、py脚本

目前我有一个py脚本,test.py,在linux中运行时:
python3 test.py data1.csv data2.tab data3.txt output.txt
data1.csv、data2.tab和data3.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 = {}
 
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_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()
 

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()

  • 写回答

1条回答 默认 最新

  • 梦幻精灵_cq 2023-08-21 19:26
    关注
    • 看起来,不应该空哦,第一条print() 的字符串都没有写入output么?我没有看到您的数据,不敢妄加推测。

    • 我复刻您的代码逻辑,可以正常写入文件的啊😜
      代码运行效果截屏图片

      img

    Python代码

    #!/sur/bin/nve python
    # coding: utf-8
    import time 
    
    filename = '/sdcard/Documents/001test.txt'
    date = time.localtime()
    year, month, day, hour, minute = date[:5]
    f = open(filename, 'w')
    print(f"{year}-{month:0>2}-{day:0>2} {hour:0>2}:{minute:0>2}", file=f) # 写入日期时间。
    
    for i in range(9):
        print(f"{i+1}. 测试", file = f)
    
    f.close()
    
    print() # 打印输出文件内容。
    
    for i in open(filename):
        print(i.strip()) 
    
    

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

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

悬赏问题

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