python中一个问题

Magic233 2016-07-26 10:18:25

try:
with open('James.txt') as jaf:
data = jaf.readline()
james = data.strip().split(',')

with open('Julie.txt') as juf:
data = juf.readline()
julie = data.strip().split(',')

with open('Mikey.txt') as mif:
data = mif.readline()
mikey = data.strip().split(',')

with open('Sarah.txt') as saf:
data = saf.readline()
sarah = data.strip().split(',')

except IOError as err:
print('File error: ' + str(err))

print(sorted(james))
print(sorted(julie))
print(sorted(mikey))
print(sorted(sarah))

clean_james = []
clean_julie = []
clean_mikey = []
clean_sarah = []

def sanitize(time_string):
if '-' in time_string:
splitter = '_'
elif ':' in time_string:
splitter = ':'
else:
return(time_string)
(mins,secs) = time_string.split('-')

for each_t in james:
clean_james.append(sanitize(each_t))
for each_t in julie:
clean_julie.append(sanitize(each_t))
for each_t in mikey:
clean_mikey.append(sanitize(each_t))
for each_t in sarah:
clean_sarah.append(sanitize(each_t))

print(sorted(clean_james))
print(sorted(clean_julie))
print(sorted(clean_mikey))
print(sorted(clean_sarah))


Traceback (most recent call last):
File "F:\python\demo-file4.py", line 42, in <module>
clean_james.append(sanitize(each_t))
File "F:\python\demo-file4.py", line 39, in sanitize
(mins,secs) = time_string.split('-')
ValueError: not enough values to unpack (expected 2, got 1)

是这个错误 求大神们指点迷津
...全文
402 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanxiaochengyu 2016-07-26
  • 打赏
  • 举报
回复
time_string中间没有“-”符号吧,导致分割失败。
def sanitize(time_string):
    if '-' in time_string:
        splitter = '_'
    elif ':' in time_string:
        splitter = ':'
    else:
        return(time_string)
    (mins,secs) = time_string.split('-')
这段代码我猜应该是这么用的

  if '-' in time_string:
        splitter = '-'
    elif ':' in time_string:
        splitter = ':'
    else:
        return(time_string)
    (mins,secs) = time_string.split(splitter)
sanxiaochengyu 2016-07-26
  • 打赏
  • 举报
回复
引用 3 楼 L8747 的回复:
[quote=引用 1 楼 a87b01c14 的回复:] time_string中间没有“-”符号吧,导致分割失败。
def sanitize(time_string):
    if '-' in time_string:
        splitter = '_'
    elif ':' in time_string:
        splitter = ':'
    else:
        return(time_string)
    (mins,secs) = time_string.split('-')
这段代码我猜应该是这么用的

  if '-' in time_string:
        splitter = '-'
    elif ':' in time_string:
        splitter = ':'
    else:
        return(time_string)
    (mins,secs) = time_string.split(splitter)
谢谢你,是我函数写错了,已经找到原因了~[/quote] 解决了就好~~
Magic233 2016-07-26
  • 打赏
  • 举报
回复
引用 1 楼 a87b01c14 的回复:
time_string中间没有“-”符号吧,导致分割失败。
def sanitize(time_string):
    if '-' in time_string:
        splitter = '_'
    elif ':' in time_string:
        splitter = ':'
    else:
        return(time_string)
    (mins,secs) = time_string.split('-')
这段代码我猜应该是这么用的

  if '-' in time_string:
        splitter = '-'
    elif ':' in time_string:
        splitter = ':'
    else:
        return(time_string)
    (mins,secs) = time_string.split(splitter)
谢谢你,是我函数写错了,已经找到原因了~
Magic233 2016-07-26
  • 打赏
  • 举报
回复
引用 1 楼 a87b01c14 的回复:
time_string中间没有“-”符号吧,导致分割失败。
def sanitize(time_string):
    if '-' in time_string:
        splitter = '_'
    elif ':' in time_string:
        splitter = ':'
    else:
        return(time_string)
    (mins,secs) = time_string.split('-')
这段代码我猜应该是这么用的

  if '-' in time_string:
        splitter = '-'
    elif ':' in time_string:
        splitter = ':'
    else:
        return(time_string)
    (mins,secs) = time_string.split(splitter)
谢谢你是我太粗心了,现在那个问题解决了,现在又出现一个新问题 print(sorted(clean_james)) TypeError: unorderable types: NoneType() < NoneType() QAQ我没有见过这个错误,能帮忙解答下么

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧