<pre><code> os.chdir(StartScanDir) #start at the top of the directory hierarchy
# print(os.getcwd()) #1
for path, dirs, files in os.walk(StartScanDir):
i=0
runout=[ ] #clear logging string array
runout.append(path) #add album title
print (runout[i]) #2 album title
os.chdir(runout[i]) #cd to album
for f in files:
if not f.endswith('.flac'):
continue
i=i+1
runout.append(f) #add individual song titles
print (runout[i]) #3 > FLAClistOut
print(os.getcwd()) #4 confirm we're in the right dir
p=subprocess.Popen(["flac","-ts",'f'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# p.stdout.write('f') #produces error io.Unsupported operation
# p.stdout.close() #closes io too soon
exit_code = p.wait() #doesn't make any diff
print(exit_code) # always 1 since flac reports error reading everytime
out_bytes =p.stdout.read()
out_str = out_bytes.decode('utf-8')
err_bytes =p.stderr.read()
err_str = err_bytes.decode('utf-8')
# print (out_str) #never seen anything here
print (err_str) #error info comes out here
</code></pre>
<p>这就是我现在所做的,并添加了额外的评论。仍然无法获取发送到flac的实际文件名。它错误地说它无法读取文件名或文件不存在。
这是一个典型的目录名,我将其刻录到:
/mnt/y/FLAC/FLAC老歌专辑/各种艺术家/#1 60年代的电台热门歌曲
以及该目录中文件名的格式:
01-正义的兄弟们-(你是我的)灵魂和灵感</p>
<p>我想我已经尝试了所有的建议,你在上面看到的就是结果。我卡住了</p>
<p>我可以复制一首歌的名字,然后在bash命令行上手动输入或粘贴一个文件名为'flac-ts 4seasures-Hurt Yourself.flac',效果很好,就像我用find和-exec编写的bash脚本一样。只是在python中找不到正确的名称</p>