小编Fan*_*icD的帖子

使用xml.etree.ElementTree获取文件中的XML标记列表

如上所述,我需要使用库获取文件中的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)

python xml tags elementtree tagname

8
推荐指数
2
解决办法
2万
查看次数

CDR,CAR和REST,FIRST和可能的实施之间的区别?

我正在学习LISP中的函数式编程,这是我遇到的问题:LISP使用CAR,CDR函数以及FIRST和REST函数.两者都与列表有关.

从我到目前为止所学到的,这两者之间存在差异,但我不太清楚它们之间的区别.

有人可以为我总结一下吗?我如何最终使用CDR,CAR实现FIRST/REST?


编辑:既然接受的答案中提到的文件,但没有链接,这里是链接的文档CAR/CDR话,这里FIRST/REST.

此外 - 重要的说明 - 链接文档是CLISP的"实施说明",这是一种常用的环境.一般来说,几乎不可能找到这种语言的"官方文件".

lisp list common-lisp cdr

7
推荐指数
2
解决办法
6426
查看次数

Shell/Bash解析文本文件

我有这个文本文件,看起来像这样

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)

谁能请我回到路上?我尝试了各种各样的方式,但我没有得到任何地方.谢谢.

bash shell awk parsing text-processing

2
推荐指数
1
解决办法
1万
查看次数

在C#中打开和关闭线程

这是事情,我已经开始使用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)

c# multithreading

1
推荐指数
1
解决办法
1010
查看次数