繁体   English   中英

如何使用文件名作为输入?

[英]How can I use file names as an input?

我写了一个 python 脚本(带有 pandas 库)来创建 txt 文件。 我还使用 txt 文件作为输入。 它运作良好,但我想让它更加自动化。

我的代码开始像;

girdi = input("Lütfen gir: ")
input2 = girdi+".txt"
veriCNR = pd.read_table(
    input2, decimal=",",
    usecols=[
        "Chromosome",
        "Name",
.
.
.

我正在一一输入文件的名称并获得如下输出:

.
.
.    
outputCNR = girdi+".cnr"
sonTabloCNR.to_csv(outputCNR, sep="\t", index=False)

outputCNS = girdi+".cns"
sonTabloCNS.to_csv(outputCNS, sep="\t", index=False)

outputCNG = girdi+".genemetrics.cns"
sonTabloCNG.to_csv(outputCNG, sep="\t", index=False)

如您所见,我也将输入名称用于输出。 它们是制表符分隔的 txt 文件,具有不同的文件扩展名。

我想使用文件夹中的所有 txt 文件作为输入,并为每个文件运行此脚本。

我希望我解释清楚。

附言。 我不是程序员。 请用代码解释:)

您可以将创建文件的代码放在将文件路径作为输入的 function 中:

def generate_results(input_filepath):
    # your code generating the files

然后您可以在循环中使用此 function 来生成所有结果文件。

这是一个使用glob获取directory中所有文本文件的示例

import os
import glob

directory = "path to my directory"
for filepath in glob.glob(os.path.join(directory, "*.txt")):
    generate_results(filepath)

如果要遍历文件夹中的文件,请使用os.listdir(path) 它返回路径上的文件名列表(默认为当前目录)。

例如:

import os

supported_extensions = ['.cns', '.cnr']
for filename in os.listdir():
    # Make sure file has desired extension
    if os.path.splitext(filename)[1] in supported_extensions:
        function(filename)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM