python - 将字符串附加到修改的行
问题描述
我将尝试分步执行此操作:
1-问题: 我必须重写一个损坏的 m3u 文件,它的行是:
#EXTINF123#, Title - Song # let's say for clarity sake that the n line
d:\music\title - song.mp3 # this would be the n+1 line
实际上它应该在哪里阅读(请注意,标题很重要)
#EXTINF123#, Title - Song
Title - Song.mp3
第一部分是删除包含 d:\music... 的行,然后这给出了必须在其自身下方重写的行,成为第 n+1 行
第一部分很简单,我得到了一个包含大量需要修改的行的文件。
#EXTINF123#, Title - Song
#EXTINF123#, Title1 - Song1...
所以我转向主要。问题
2- 暂定解决方案
import in_place
with in_place.InPlace('Soothing.m3u') as file:
for line in file:
file.write(line)
file.write(line[12:])
3-(新)问题:
这不会在第二(n + 1)行的末尾附加“.mp3”字符串,即:
#ext123#, Title - Song
Title - Song
4-(新)暂定解决方案
4.1 试图“添加”字符串,当然不行(那太容易了==>没有乐趣)
file.write(line[12:] + ".mp3")
当然,这将在下一行的开头添加扩展名
4.2 将光标“移动”到第n+1行的开头
with in_place.InPlace('Soothing.m3u') as file:
for line in file:
file.write(line)
file.write(".mp3")
file.seek(-5,1)
file.write(line[10:])
这会返回一个错误
Traceback (most recent call last):
File "erase.py", line 7, in <module>
file.seek(-5,1)
AttributeError: 'InPlace' object has no attribute 'seek'
之前,您会问:尝试切换到 .txt 文件不会改变任何问题。当然,请随意使用文本文件对其进行测试。
4.3 加入我想我这里有东西。它不起作用,但如果你能帮助我理解为什么它会更有趣,我怀疑......当然我不会交出答案:)
import in_place
with in_place.InPlace('Soothing.m3u') as file:
for line in file:
file.write(line)
a = line[12:]
b = ".mp3"
c = a.join(b)
file.write(c)
它只是将 b 发送到所有地方,给出如下内容:
#EXTINF:135,Title - Song
.Title - Song
mTitle - Song
pTitle - Song
3#EXTINF:194,Title1 - Song1
欢迎任何帮助。
操作系统:ubuntu 18.04
python 2.7 但可以使用 python 3.7
解决方案
推荐阅读
- php - 带有 ajax 的条纹元素在 firefox 和 safari mobile 上不起作用
- .net - 在编写正则表达式方面需要帮助
- python - Pyspark sparkSession 在 pycharm 中运行时关闭后抛出连续的异常日志流
- safari - Safari 不透明动画有时会失败
- winapi - CreateCompatibleBitmap 产生黑色单色(即使使用屏幕直流)
- slack - 使用 Bolt for java 的动态块和块动作
- python - 如何基于 StandardScaler 构建自定义缩放器?
- firebase - 如何防止拥有我的 google-services.json 的人访问我的项目?
- r - 将几何点ggplot的星号与位置闪避对齐
- java - 通过 JCo 以事务方式调用 BAPI RFC