簡體   English   中英

為什么這個 micropython function 不起作用?

[英]Why doesn't this micropython function work?

我在 micropython 中寫了一個 function 試圖檢索 uname 信息並刪除我不想要的東西然后返回一個值:

 import os

 def get_uname():      
     my_uname = os.uname()[3]
     my_uname = my_uname.replace("(GNU 9.3.0 MinSizeRel)", "") 
     my_uname = my_uname.replace(" on ", "-")
     my_uname = my_uname.replace(" ", "") 
     return my_uname

每次我嘗試將其作為模塊導入時,都會收到一條錯誤消息:

 import sw-ver
 Traceback (most recent call last):
 File "<stdin>", line 1
 SyntaxError: invalid syntax

但是,如果我將 function 直接復制並粘貼到 repl 中,則成功,沒有錯誤:

 >>> import os
 >>> def get_uname():  
 ...     my_uname = os.uname()[3]
 ...     my_uname = my_uname.replace("(GNU 9.3.0 MinSizeRel)", "")
 ...     my_uname = my_uname.replace(" on ", "-")
 ...     my_uname = my_uname.replace(" ", "")
 ...     return my_uname
 ...     
 ...     
 ... 
 >>> get_uname()
 'v1.14-2021-02-05'
 >>> 

我已經嘗試了所有我能想到的方法,我重命名了文件以防萬一導致問題。 有沒有人有關於如何解決這個問題的建議?

謝謝!

如果您已將 function 放在文件sw-ver.py中,則即使在這種情況下,您也將難以使用import sw-ver as -用於算術等來導入它。 如果您無法重命名文件,請參見此處,但最簡單的答案是遵循樣式指南並僅對模塊使用小寫字母,或者至少使用_而不是-

暫無
暫無

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

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