使用python输入扩展后迭代文件和名称输出文件

时间:2012-05-31 13:12:22

标签: python input loops file-extension

新手python程序员在这里。我编写了一个脚本,并希望修改它以便它运行文件夹中的文件,因此我不必每次都更改输入和输出文件扩展名。

输入文件的文件夹包含染色体文件,例如'chr1','chr2','chrx'等。 我想输出到不同的文件夹和路径,并使用输入文件作为输出文件的基础,同时还添加了一个扩展名,如'windowstatistics'。例如,输入文件'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')

有谁知道如何使这个工作,我不介意它的完成方式是完全不同的,我只是希望能够运行一次脚本并迭代文件。

如果我需要重新表述问题,请告诉我。在此先感谢您的帮助。真的很感激。

2 个答案:

答案 0 :(得分:1)

记下你想要的东西 - 我不清楚。

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

  2. 也是如此。output = open(infile + ".out", 'w')
  3. 您是否要处理输出数据并将其放在其他位置?然后打开文件进行写入,并使用正确的文件名:执行{{1}}。

  4. 特别是不要将文件名与文件对象混淆,特别是函数如何工作。

答案 1 :(得分:0)

要重命名文件:     os.rename(infile,infile +“。out”)

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

复制文件(* nix):     os.system(“cp”+ infile +“”+ infile“+”。out“)