실패 정확한 코드입니다.
url, count = line.split()
공백이 없거나 둘 이상의 공백이 있으면 어떻게됩니까? 나머지 단어들은 어디로 갈 것인가?
$ python Test.py
Read Data: http://google.com 2
Read Data: http://python.org 3
Traceback (most recent call last):
File "Test.py", line 6, in <module>
.format(idx, line.rstrip(), len(split_list) - 1))
ValueError: Line 3: 'http://python.org 4 Welcome' has 2 spaces, expected 1
이 @abarnert's comment에 따라
http://google.com 2
http://python.org 3
http://python.org 4 Welcome
http://python.org 5
이 프로그램은 생산, 당신은 실제로 입력 파일로
with open(urls_file_path, "r") as f:
for idx, line in enumerate(f, 1):
split_list = line.split()
if len(split_list) != 2:
raise ValueError("Line {}: '{}' has {} spaces, expected 1"
.format(idx, line.rstrip(), len(split_list) - 1))
else:
url, count = split_list
print url, count
을 할당하기 전에 길이를 확인할 수 있습니다
data = "abcd"
print data.split() # ['abcd']
data = "ab cd"
print data.split() # ['ab', 'cd']
data = "a b c d"
print data.split() # ['a', 'b', 'c', 'd']
, 하나 개 이상의 공간/아니오 공간이있는 경우이
url, _, count = data.partition(" ")
같은 partition
기능을 사용할 수 있습니다, 다음 count
는 각각 문자열이나 빈 문자열의 나머지를 개최한다.
당신은 당신이 rest
에 할당됩니다 first
각각 second
하고 목록의 나머지 부분에 할당됩니다이
first, second, *rest = data.split()
먼저 두 값과 같은 작업을 수행 할 수 있습니다, 파이썬 3.x를를 사용하는 경우 , Python 3.x
이 오류가 발생한 정확한 코드 줄을 표시 할 수 있습니까? – thefourtheye
잘못된 것이 있습니다. (죄송 합니다만, 당신이하는 일을 보지 않고 더 나은 대답을 드릴 수는 없습니다.) – glglgl
이것은 입력 문자열에 둘 이상의 공백이있을 때 대소 문자를 처리하지 않는다는 것을 의미합니다. – gravetii