【问题标题】:Read in values for variables from sample.dat files when redirected to stdin?重定向到标准输入时从 sample.dat 文件中读取变量的值?
【发布时间】:2018-03-19 12:57:04
【问题描述】:

我想读取 4 个输入文件中的一些值,其中包含名为 xc、yc、r、x1、y1 等的变量。输入文件的格式如下所示:

400, 300200100, 200700, 200

有人告诉我这可以用 eval() 命令来完成,例如:

xc, yc = eval(input()) 

你能告诉我这是如何工作的吗?

【问题讨论】:

    标签: python stdin


    【解决方案1】:

    您最初的问题很不清楚......我建议重写它,但我不确定我是否理解了这个问题。同时很难使用 eval() 命令,因为我不了解输入文件的格式。我宁愿考虑:

    import numpy as np
    filenames = ["toto.dat","tata.dat","tutu.dat","titi.dat","tyty.dat"]
    for count,file in enumerate(filenames):
        with open(file,"r") as f:
            inp = np.array(f.readlines())
        if count==1:
            xc = inp
        elif count==2:
            yc = inp
        elif count==3:
            x1 = inp
        elif count==4:
            y1 = inp
        else:
            x2 = inp 
    

    【讨论】:

    • 您好,感谢您的回答,但是当我尝试在您的代码中导入 numpy 时,显然它找不到 numpy 作为模块。所以它只是在文件的第一行出错。
    • 安装 numpy.如果你使用 anaconda ==> conda install numpy.否则使用 pip: pip install numpy (待验证,我从不使用 pip)。否则任何安装程序
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 2020-08-13
    相关资源
    最近更新 更多