来自 Visual Basic 的 运行 .py 文件时 python 中的 FileNotFound 错误
FileNotFound Error in python when running .py file from visual basic
我试图制作一个助手,它可以执行简单的任务,如关闭计算机等。为此,我选择了 python 和 visual basic.....用于显示的 visual basic(前端应用程序)和python 用于执行任务(后端应用程序)。所以我创建了一个名为 main.py 的 py 文件并创建了一个名为 query 的文件夹,并在其中创建了一个名为 query.jarvis 的文件,它可以简单地作为文本文件打开。 vb(visual basic) 程序只是将文本写入 query.jarvis,然后 运行 main.py 文件。当我通过双击 main.py 文件手动 运行 它工作正常(就像查询中的“关机”和 运行 宁 main.py 文件通过双击我的电脑关机) 但是当我尝试从 vb 运行 它时,它显示错误文件未找到 query\query.jarvis 。我什至尝试通过 pyinstaller 将 py 文件转换为 exe,但它再次显示相同的错误,但只有当我 运行 它来自 vb.
*main.py()
def check(q):
#here was performing task according to query
f=open("query\query.jarvis")
#here the error occured
x=f.readlines()
d=x[0]
d=d.strip()
q=d.lower()
check(q)*
*vb.net
objWriter123.Close()
Dim objWriter As New System.IO.StreamWriter(moddir + "query\query.jarvis")
#here moddir is the directory of main.py file
objWriter.Write(UserQuery.Text)
objWriter.Close()
UserQuery.Text = ""
Process.Start(moddir + "main.py", AppWinStyle.MinimizedNoFocus)*
process.start 有时会有奇怪的结果。我通常设法通过将 explorer.exe 添加到混音中来修复它。
Process.Start("explorer.exe", moddir & "\main.py")
还要注意这个额外的反斜杠,您可能已经错过了。在 \main.py
注意
在 vb 中,您使用 & 符号而不是 + 符号连接字符串。
我试图制作一个助手,它可以执行简单的任务,如关闭计算机等。为此,我选择了 python 和 visual basic.....用于显示的 visual basic(前端应用程序)和python 用于执行任务(后端应用程序)。所以我创建了一个名为 main.py 的 py 文件并创建了一个名为 query 的文件夹,并在其中创建了一个名为 query.jarvis 的文件,它可以简单地作为文本文件打开。 vb(visual basic) 程序只是将文本写入 query.jarvis,然后 运行 main.py 文件。当我通过双击 main.py 文件手动 运行 它工作正常(就像查询中的“关机”和 运行 宁 main.py 文件通过双击我的电脑关机) 但是当我尝试从 vb 运行 它时,它显示错误文件未找到 query\query.jarvis 。我什至尝试通过 pyinstaller 将 py 文件转换为 exe,但它再次显示相同的错误,但只有当我 运行 它来自 vb.
*main.py()
def check(q):
#here was performing task according to query
f=open("query\query.jarvis")
#here the error occured
x=f.readlines()
d=x[0]
d=d.strip()
q=d.lower()
check(q)*
*vb.net
objWriter123.Close()
Dim objWriter As New System.IO.StreamWriter(moddir + "query\query.jarvis")
#here moddir is the directory of main.py file
objWriter.Write(UserQuery.Text)
objWriter.Close()
UserQuery.Text = ""
Process.Start(moddir + "main.py", AppWinStyle.MinimizedNoFocus)*
process.start 有时会有奇怪的结果。我通常设法通过将 explorer.exe 添加到混音中来修复它。
Process.Start("explorer.exe", moddir & "\main.py")
还要注意这个额外的反斜杠,您可能已经错过了。在 \main.py
注意
在 vb 中,您使用 & 符号而不是 + 符号连接字符串。