Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用字符串将用户编辑的变量(在globals()之外)写入python中的csv以获取值_Python_Csv_Output - Fatal编程技术网

如何使用字符串将用户编辑的变量(在globals()之外)写入python中的csv以获取值

如何使用字符串将用户编辑的变量(在globals()之外)写入python中的csv以获取值,python,csv,output,Python,Csv,Output,让我快速介绍一下这个场景。对于一门基于知识的工程课程,我将使用Paray(基于python的KBE软件)创建一架商务飞机。用户应能够更改输入文件中的变量,输入文件应包括单位和注释。然后程序将创建一个几何图形并在GUI中打开,用户可以在GUI中以交互方式更改所述变量。用户应该能够将当前值保存到与输入文件格式完全相同的输出文件中,因此包括单位和注释。很抱歉,如果没有Paray软件,这个问题是无法重现的,但是如果不使用整个场景,我发现很难描述 我认为使用CSV是合适的。阅读部分很好,但我在写作部分遇到

让我快速介绍一下这个场景。对于一门基于知识的工程课程,我将使用Paray(基于python的KBE软件)创建一架商务飞机。用户应能够更改输入文件中的变量,输入文件应包括单位和注释。然后程序将创建一个几何图形并在GUI中打开,用户可以在GUI中以交互方式更改所述变量。用户应该能够将当前值保存到与输入文件格式完全相同的输出文件中,因此包括单位和注释。很抱歉,如果没有Paray软件,这个问题是无法重现的,但是如果不使用整个场景,我发现很难描述

我认为使用CSV是合适的。阅读部分很好,但我在写作部分遇到了麻烦。案例的简化版本包含以下代码。这将根据宽度、高度和长度变量创建长方体几何图形。这些变量可以在GUI中编辑,我需要再次保存。但是,我不知道如何在没有硬编码的情况下访问它们。我试图使用输入文件读取变量名,然后使用该名称请求值(请参阅def save_vars(self):中的else stamen)

下面是我用于此的csv文件

var_name,Value,Unit,Comment
width,2,[m],Width of the box
height,3,[m],Height of the box
length,4,[m],Length of the box

谢谢你抽出时间来看看我的问题。如果有什么不清楚或您需要更多信息,请让我知道

正如stovfl所指出的,有一个很好的类可以用Python编写配置文件,如果您仍然从头开始,那么这绝对是解决这个问题的最好方法

然而,我也发现了如何让我的东西发挥作用。我有以下几点:

else语句中的行:

value = self.var_name
应改为

value = getattr(self,var_name)

正如stovfl指出的,有一个很好的类可以用Python编写配置文件,如果您仍然从头开始,那么这绝对是解决这个问题的最好方法

然而,我也发现了如何让我的东西发挥作用。我有以下几点:

else语句中的行:

value = self.var_name
应改为

value = getattr(self,var_name)

看一看。也许这更适合你。哦,哇,这实际上是一个非常好的功能,从来没有想过,谢谢!所以基本上已经有了一个类,我正在尝试创建它。我看看是否值得换成这个看看。也许这更适合你。哦,哇,这实际上是一个非常好的功能,从来没有想过,谢谢!所以基本上已经有了一个类,我正在尝试创建它。我看看是否值得换成这个