如上所述,我需要使用库获取文件中的XML标记列表xml.etree.ElementTree.
我知道有类似的属性和方法ETVar.child, ETVar.getroot(), ETVar.tag, ETVar.attrib.
但是为了能够使用它们并至少获得2级标签的名称,我不得不使用嵌套的.
目前我有类似的东西
for xmlChild in xmlRootTag:
if xmlChild.tag:
print(xmlChild.tag)
Run Code Online (Sandbox Code Playgroud)
目标是在文件中获取所有,甚至深度嵌套的XML标记的列表,从而消除重复.
为了更好的想法,我添加了可能的XML代码示例:
<root>
<firstLevel>
<secondlevel level="2">
<thirdlevel>
<fourth>text</fourth>
<fourth2>text</fourth>
</thirdlevel>
</secondlevel>
</firstlevel>
</root>
Run Code Online (Sandbox Code Playgroud) 我正在学习LISP中的函数式编程,这是我遇到的问题:LISP使用CAR,CDR函数以及FIRST和REST函数.两者都与列表有关.
从我到目前为止所学到的,这两者之间存在差异,但我不太清楚它们之间的区别.
有人可以为我总结一下吗?我如何最终使用CDR,CAR实现FIRST/REST?
编辑:既然接受的答案中提到的文件,但没有链接,这里是链接的文档CAR/CDR话,这里FIRST/REST.
此外 - 重要的说明 - 链接文档是CLISP的"实施说明",这是一种常用的环境.一般来说,几乎不可能找到这种语言的"官方文件".
我有这个文本文件,看起来像这样
Item:
SubItem01
SubItem02
SubItem03
Item2:
SubItem0201
SubItem0202
Item3:
SubItem0301
...etc...
Run Code Online (Sandbox Code Playgroud)
我需要的是让它看起来像这样:
Item=>SubItem01
Item=>SubItem02
Item=>SubItem03
Item2=>SubItem0201
Item2=>SubItem0202
Item3=>SubItem0301
Run Code Online (Sandbox Code Playgroud)
我知道这个事实,我需要两个for循环才能得到它.我做了一些测试,但是......好吧,它并没有结束.
for(( c=1; c<=lineCount; c++ ))
do
var=`sed -n "${c}p" TMPFILE`
echo "$var"
if [[ "$var" == *:* ]];
then
printf "%s->" $var
else
printf "%s\n"
fi
done
Run Code Online (Sandbox Code Playgroud)
谁能请我回到路上?我尝试了各种各样的方式,但我没有得到任何地方.谢谢.
这是事情,我已经开始使用C#,我想做这样的事情:
我有一个带有一个按钮和图片框的Windows窗体应用程序.
单击按钮应该导致实际状态的属性"正在运行"为真/假.这样就完成了.
此外,它应该导致打开将在程序运行时不断完成工作的脚本.这个"作业"将在Run()方法中描述.我希望这个方法只在Running == true时执行,一旦它变为false,方法应该结束.所以我决定把它放到线程中,在我在Running = true和Running = false之间切换的方法中,我尝试启动线程并中止它.
我为什么要这样做?因为我希望能够通过开头提到的按钮打开和关闭程序.
这就是我想出的:
Thread thProgram;
public Form1()
{
InitializeComponent();
thProgram = new Thread(new ThreadStart(this.Run));
}
private bool Running = false;
public void Run()
{
int i = 0;
while(this.Running)
{
i++;
}
MessageBox.Show("Terminated");
}
// handling bot activation button (changing color of a pictureBox1), switching this.Running property
private void button1_Click(object sender, EventArgs e)
{
if(this.Running)
{
thProgram.Abort();
pictureBox1.BackColor = Color.Red;
this.Running = false;
}
else
{
thProgram.Start();
pictureBox1.BackColor = Color.Lime;
this.Running …Run Code Online (Sandbox Code Playgroud)