0

新手python程序员在这里。我写了一个脚本,想修改 start 让它遍历文件夹中的文件,所以我不必每次都更改输入和输出文件扩展名。

输入文件的文件夹包含'chr1','chr2','chrx'等染色体文件。我想输出到不同的文件夹和路径,并使用输入文件作为输出文件的基础,同时还添加扩展名例如“窗口统计”。例如,输入文件“chr1”将作为“chr1windowstatistics”输出到不同的文件夹中。

几天来,我一直在尝试解决这个问题,但没有找到可行的解决方案。

目前我有:

import os
import glob

path = '/man/genotyping/Conservation/splitbychrom/'
for infile in glob.glob( os.path.join(path, 'Chr*') ):


    inputfile = open(infile, 'r') 
    output = os.rename(inputfile + ".out", 'w')

有谁知道如何使它工作,我不介意它的完成方式是否完全不同,我只想能够运行一次脚本并遍历文件。

请让我知道我是否需要重新表述问题以清楚起见。提前感谢您的所有帮助。真的很感激。

4

2 回答 2

1

只要写下你想要的——我不清楚。

  1. 你想重命名吗?然后告诉os.rename()您要重命名的内容和名称。在您的情况下,您想将 orognal 文件重命名为一个新名称,当然不是w. 就这样吧os.rename(infile, newfilename)

  2. 您想处理输出数据并将其放在其他地方吗?然后打开文件进行写入,并使用正确的文件名: do output = open(infile + ".out", 'w').

尤其不要将文件名与文件对象以及函数的工作方式混淆。

于 2012-05-31T13:26:41.353 回答
0

重命名文件: os.rename(infile, infile + ".out")

os.rename 有两个字符串:源路径,目标路径。“输出”的分配未使用。

复制文件(在 *nix 中): os.system ("cp " + infile + " " + infile" + ".out")

于 2012-05-31T13:21:00.027 回答