从textfi执行管道命令

2024-09-28 01:22:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文本文件(songs.txt)包含许多行,看起来像下面引用的文本。我要的是把左边和右边分开。将根据它们站在哪一边来确定边。有两个部分,搜索字符串和歌曲长度。 例如:

Don Diablo - M1 stinger &&&&&& 204

左边的部分是右边的文本,右边的部分是右边的文本

Left part: Don Diablo - M1 stinger

Right part: 204

从那时起,这些命令可以通过管道执行。 文本文件中每行有两个命令,那么它是一个与右部分长度相同的延迟(歌曲长度,以秒为单位设置)。你知道吗

例如:

search Don Diablo - M1 stinger

play 1

现在会在204秒的时候休息。然后从文件中取出下一行。喜欢并且一直如此。你知道吗

问题是,我在Python上玩过一点,现在我真的不知道了。我读过一些解决方案,但没有我想象的那么有用。你知道吗

如果有人能告诉我如何在实践中做到这一点,我会很高兴的?,有可能吗?你知道吗

如果有人要黑这个,这里有songs.txt

注意:我使用的是Python2.7.4


Tags: 字符串文本命令righttxt管道歌曲left
1条回答
网友
1楼 · 发布于 2024-09-28 01:22:46

我不清楚“管道”命令是什么意思,但我认为解决方案有三个关键要素:

  1. 在Python中,文件是“iterable”,这意味着您可以在for循环的右侧使用一个打开的(文本)文件,它将遍历文件的行:

    for line in open('songs.txt'):
    
  2. 可以使用字符串对象的partition方法拆分行的左侧和右侧:

        left, sep, right = line.partition('&&&&&&')
    

    注意,“right”元素将包含行尾字符,leftright都可能包含额外的空格。您可能想用strip删除所有这些。你知道吗

        left = left.strip()
        right = right.strip()
    
  3. 实际上,运行命令应该使用subprocess来完成,它可以处理阻塞调用(使用callcheck_call),或者在后台运行命令,并使用Popen连接管道。请注意,所有这些命令都需要参数列表,而不仅仅是命令行字符串—这里的子流程文档应该会有所帮助。

相关问题 更多 >

    热门问题