我想在我的Ubuntu服务器24/7上运行Python3脚本。
我读到nohup
可以实现这一点。
所以我做了以下命令来启动脚本:
nohup python3 launcher.py &
之后,我将在nohup.out
中收到包含以下内容的语法错误:
File "launcher.py", line 22
async def on_ready():
^
SyntaxError: invalid syntax
但问题是,如果我通过python3 launcher.py
启动脚本,我将不会收到语法错误。
我正在使用Discord Bot,所以我使用Discord.py。
有人可以解释一下,为什么在用nohup
打开脚本时会出现语法错误?
因为有人在这里要求代码:
@client.event
async def on_ready():
def longestWord(sentence):
"""
Get's the longest word in a string
Example: longestWord(String1 + " " + String2)
and for multiple Strings:
Example 2: longestWord(String1 + " " + String2 + " " + String3)
"""
longest = 0
word = ''
for i in sentence.split():
if len(i) > longest:
word = i
longest = len(i)
return word
length = len(longestWord(client.user.name + " " + client.user.id)) + 10
print("#".center(length,"#"))
print("## Bot Online! ".ljust(length, "#"))
print("## Name: {} ".format(client.user.name).ljust(length, "#"))
print("## ID: {} ".format(client.user.id).ljust(length, "#"))
print("#".center(length, "#"))
print("\n")
await client.change_presence(game=discord.Game(name='Phase: In Developement'))
答案 0 :(得分:0)
它并没有真正回答我的问题但是。我现在使用screen
在后台打开Python脚本。
screen
以开始新会话。python3 launcher.py
以使用普通Python3启动脚本有效。