Python 2.7 uu添加到字符串会删除字符串吗?
这里是新手/哈比编码员 我编写了一个脚本,它可以运行.M3U文件并下载所有引用的媒体。(我的唱片店预览) 现在,我设法以这种精确的方式从下载函数中获得正确的路径,但出于某种奇怪的原因,下面的循环只返回“.mp3” 编辑 艺人、曲目、唱片集、文件类型都返回正确的字符串 如果我连接它们,它们将返回我期望的结果 只要我加上“.mp3”,它就会变成梨形 编辑 这就产生了同样的问题 写入id3标记Python 2.7 uu添加到字符串会删除字符串吗?,python,string,Python,String,这里是新手/哈比编码员 我编写了一个脚本,它可以运行.M3U文件并下载所有引用的媒体。(我的唱片店预览) 现在,我设法以这种精确的方式从下载函数中获得正确的路径,但出于某种奇怪的原因,下面的循环只返回“.mp3” 编辑 艺人、曲目、唱片集、文件类型都返回正确的字符串 如果我连接它们,它们将返回我期望的结果 只要我加上“.mp3”,它就会变成梨形 编辑 这就产生了同样的问题 写入id3标记 i=0 而i
i=0
而i
将os.path中的路径分开。用逗号连接
filename = artist + " - " + track + " - " + album + filetype
fullfilename = os.path.join('/Users/username/Desktop/transmisson/', filename)
你的问题可能是你没有“归还”或储存任何东西。现在,它只是在整个目录中循环。您不想存储所有的fullfilename数据或其他什么吗
编辑:您似乎并没有实际使用循环中的文件执行某些操作。现在您只引用了i
,但代码中没有定义i
Edit2:根据您关于nucontainer是列表列表的评论,我认为您应该这样做:
for i, file in enumerate(os.listdir("/Users/username/Desktop/transmisson")):
artist = str(nucontainer[i][2].replace("/", ""))
track = str(nucontainer[i][1].replace("/",""))
album = str(nucontainer[i][3].replace("/", ""))
filetype = ".mp3"
fullfilename = "/Users/username/Desktop/transmisson/"
+ artist + " - " + track + " - " + album + filetype
您希望os.path.join('/Users/username/Desktop/transmisson/'+artist+“-”+track+“-”+album+filetype)
准确地生成结果是什么?一个路径名为Yeah的字符串,那么它就没有做您希望它做的事情。查看Sam的answeros.path.join不应该在那里-这是一个试图找出错误的实验。如果i
是[1]
,那么你就不能访问numcontainer[1][2]
,但是numcontainer[[1]][2]
(请参阅附加括号)。fullfilename=os.path.join(“/Users/username/Desktop/transmisson/”,艺术家,“-”,track,“-”,album,filetype)将返回“/.mp3”,如果我首先创建变量并使用您的确切示例,它将返回“/Users/username/Desktop/transmisson/.mp3”“但是,在与路径'/Users/username/Desktop/transmisson/'连接之前,变量filename
是否正确?是的,这是headf***k。”。所有列表条目都是StringsRect——我希望最终使用循环中的每个运行来更改id3标记。但是我还没有完成在这里创建文件路径的工作。在您的示例中-如果我打印fullfilename,结果是“.mp3”,但在for循环中,我仍然看不到任何与文件有关的事情。现在,对于每个循环,您的代码应该为“艺术家”、曲目等提供完全相同的输出。不过,我看不出与这个问题有什么关联。我只是想知道为什么在添加“.mp3”时,将多个字符串添加到一起最终会删除该字符串。好吧,连接或“添加”到字符串并不会删除它。因此,不知何故,您的代码中出现了其他错误。我只是想帮你找出问题所在……我明白了,我无意让你听起来很粗鲁。仅供参考,如果我用ifilename = artist + " - " + track + " - " + album + filetype
fullfilename = os.path.join('/Users/username/Desktop/transmisson/', filename)
for i, file in enumerate(os.listdir("/Users/username/Desktop/transmisson")):
artist = str(nucontainer[i][2].replace("/", ""))
track = str(nucontainer[i][1].replace("/",""))
album = str(nucontainer[i][3].replace("/", ""))
filetype = ".mp3"
fullfilename = "/Users/username/Desktop/transmisson/"
+ artist + " - " + track + " - " + album + filetype