这段代码的目的是为我选择的歌曲写歌词。。但是我被这些语法错误阻止了。不太清楚为什么会这样
MusicBot.py:
import Opening
import json
import requests
#Variables
artist = 'lil tjay'
song_title = 'Calling My Phone'
keywords = {'phone'}
url = "https://api.lyrics.ovh/v1/" + artist + "/" + song_title
response = requests.get(url)
json_data = json.loads(response.content)
lyrics = json_data['lyrics']
browser()
enter(lyrics)
Opening.py:
import MusicBot
import pyautogui as pg
import time
start = time.perf_counter()
def browser():
pg.hotkey("winleft")
pg.typewrite("opera\n",0.1)
time.sleep(2)
pg.typewrite("beep/n" , 0.1)
def enter(lyrics):
pg.moveTo(-1267, 259 , 0.2)
time.sleep(1)
pg.click(-1267, 259)
for i in range(5):
pg.typewrite(f"{lyrics}\n")
finish = time.perf_counter()
pg.typewrite(f"Test 3 took {finish} seconds\n")
当我想运行MusicBot.py时,我会出现以下错误:
Traceback (most recent call last):
File "c:\Users\amanm\Desktop\Python\Python Crash Course\Part 2\MusicBot.py", line 1, in <module>
import Opening
File "c:\Users\amanm\Desktop\Python\Python Crash Course\Part 2\Opening.py", line 1, in <module>
import MusicBot
File "c:\Users\amanm\Desktop\Python\Python Crash Course\Part 2\MusicBot.py", line 20, in <module>
browser()
NameError: name 'browser' is not defined
它们位于同一目录中: enter image description here
您需要使用
modulename.functionname
格式从模块中调用它。在本例中,Opening.browser()
。该功能尚未直接引入程序,只能通过模块访问。如果您想直接访问它,可以尝试from Opening import browser
。然后您将能够自己调用browser()
。这比:这同样适用于
enter
函数。要将两个函数作为同一语句的一部分直接导入,请使用逗号分隔函数/变量/对象名称:from Opening import browser, enter
即使模块位于同一目录中,也必须以类似方式检索它。如果它位于子目录中,则需要在文件名之前使用文件夹名访问它(除非有
__index__.py
文件)你不能那样调用你的函数。下面是操作的简化版本
b.py
a.py
输出
相关问题 更多 >
编程相关推荐