擅长:python、mysql、java
<p>字符串是不可变的,但这并不意味着不能从字符串中创建所需的元组。在</p>
<p>这样的方法应该有效:</p>
<pre><code>def file_to_tuple(file):
title_author, searchable, ext = file.rsplit('.', 2)
title, author = title_author.rsplit(' - ', 1)
return (title, author, searchable, ext)
</code></pre>
<p>然后,您可以使用多种方法将文件列表转换为元组列表,以下是几个选项:</p>
^{pr2}$
<p>使用带<code>maxsplit</code>参数的<a href="http://docs.python.org/library/stdtypes.html#str.rsplit" rel="nofollow">^{<cd1>}</a>,这样对于包含句点或破折号的标题或包含句点的作者,它不会失败,例如:</p>
<pre><code>>>> file_to_tuple('Narnia - The Silver Chair - C.S. Lewis.1.pdf')
('Narnia - The Silver Chair', 'C.S. Lewis', '1', 'pdf')
</code></pre>