簡體   English   中英

Python中的子字符串,這是怎么回事?

[英]Substring in Python, what is wrong here?

我正在嘗試在Python中模擬子字符串,但出現錯誤:

    length_message = len(update)
    if length_message > 140:
        length_url    = len(short['url'])
        count_message = 140 - length_url
        update        = update["msg"][0:count_message] # Substring update variable

    print update
    return 0

錯誤如下:

Traceback (most recent call last):
  File "C:\Users\anlopes\workspace\redes_sociais\src\twitterC.py", line 54, in <module>
    x.updateTwitterStatus({"url": "http://xxx.com/?cat=49s", "msg": "Searching for some ....... tips?fffffffffffffffffffffffffffffdddddddddddddddddddddddddddddssssssssssssssssssssssssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedddddddddddddddddddddddddddddddddddddddddddddddfffffffffffffffffffffffffffffffffffffffffffff "})
  File "C:\Users\anlopes\workspace\redes_sociais\src\twitterC.py", line 35, in updateTwitterStatus
    update        = update["msg"][0:count_message]
TypeError: string indices must be integers

我做不到

update        = update["msg"][0:count_message]

變量“ count_message”返回“ 120”

給我點暗示。

最好的祝福,

更新

我打這個電話,update [“ msg”]來自這里

x = TwitterC()
x.updateTwitterStatus({"url": "http://xxxx.com/?cat=49", "msg": "Searching for some ...... ....?fffffffffffffffffffffffffffffdddddddddddddddddddddddddddddssssssssssssssssssssssssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedddddddddddddddddddddddddddddddddddddddddddddddfffffffffffffffffffffffffffffffffffffffffffffddddddddddddddddd"})

您是否多次遍歷此代碼?

如果是這樣,也許第一次通過update就是字典,並且update["msg"]返回一個字符串。 精細。

但是您將update設置為等於結果:

update        = update["msg"][0:int(count_message)]

(大概是)一個字符串。

如果要循環,則下次執行循環時將出現錯誤,因為現在update是字符串而不是dict (因此, update["msg"]不再有意義)。


您可以通過在錯誤之前放入打印語句來調試此錯誤:

print(type(update))

或者,如果不是太大,

print(repr(update))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM