이것은 Python 3.4에 있습니다.파이썬 (Python) : 공백으로 보이지만 공백이 아닌 문자. 이게 뭐야?
나는 내 자신의 첫 프로그램을 쓰고 있는데, 나는 특정 부분에 갇혀있다. 파이썬에서 메타 데이터에 따라 모든 오디오 파일의 이름을 바꾸려고합니다. 그러나 파일의 이름을 바꾸려고 시도 할 때 가끔 이름을 변경하지 않습니다. 나는 그것이 잘못된 문자로 인한 것 같아요. 문제는 그것이 어떤 성격인지 모르겠다는 것입니다. 나에게 그것은 마치 우주처럼 보이지만 그렇지 않다. 이것은이 출력 목록입니다
from tinytag import TinyTag
import os
print("Type in the file directory of the songs you would like to rename and organize:")
directory = input()
os.chdir(directory)
file_list = os.listdir(directory)
for item in file_list:
tag = TinyTag.get(item)
title = str(tag.title)
artist = str(tag.artist)
if artist[-1] == "\t" or artist[-1] == " ":
print("Found it!")
new_title = artist + "-" + title + ".mp3"
#os.rename(item, new_title)
print(new_title)
:
내 코드는 여기에 http://imgur.com/tfgBdMZ
이 그것은 출력 "아티스트 - Title.mp3"로되어있다가 있지만, 경우에 따라서는 "아티스트 -title를 출력 .mp3 ". 공간이있을 때, 파이썬은 그 시점에서 공간의 이름을 바꾸지 않습니다. 첫 번째 항목은 Arethra Franklin입니다. Arethra Franklin -Feelgood가 아닌 Arethra Franklin이라는 파일의 이름을 지정합니다 ..mp3
왜 이렇게할까요? 내 주요 질문은 그 공간이 무엇인가? 공간 ("")인지 확인하기 위해 == 부울 값을 설정하려고했지만 그렇지 않습니다.
"공간"에 도달하면 이름 바꾸기가 끝나고 끝납니다. 그것은 정상적인 공간을 때리는 그러나 그러나 않습니다.
png이므로 복사/붙여 넣기를 통해 확인할 수 없습니다. 원래 제목을있는 그대로 게시하십시오. 그것은 탈출 일 수 있습니다. Arethra Franklin은 128 이상의 Unicode char이 아니므로 ASCII 바이트로 읽으려고하면 그 시점에서 char/sequence를 볼 수 있습니다. – cox
아티스트 문자열을 얻은 후에는 – mackworth
또는'print (repr (artist)) '정확히 무엇인지보기 위해'print (ord (artist [-1]))'을 시도하십시오 –