【发布时间】:2019-03-27 13:16:07
【问题描述】:
我有一个带有代码的 r 脚本:
args = commandArgs(trailingOnly=TRUE)
myData <- read.csv(file=args[0])
我想使用 GUI 运行它并使用这个 python 代码提供一个选择的 csv 文件
from tkinter import filedialog
from tkinter import *
import subprocess
window = Tk()
window.geometry('500x200')
window.title("Wordcloud Creator")
lbl = Label(window, text="1. Please prepare a CSV (-Trennzeichen) file with the columns untgscod, berpos, SpezX3")
lbl.grid(column=0, row=0)
def runScript():
filename = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("csv files","*.csv"),("all files","*.*")))
subprocess.call(['Rscript', 'C:/Users/Name/Desktop/R-GUI/test.r', filename])
btn = Button(window, text="Select a file and start Cloud creation", command=runScript())
btn.grid(column=0, row=1)
window.mainloop()
但不幸的是,这不起作用。我收到此错误,但不知道出了什么问题。
File "c:\Users\name\.vscode\extensions\ms-python.python-2019.2.5558\pythonFiles\lib\python\ptvsd\_vendored\pydevd\_pydev_bundle\pydev_monkey.py", line 444, in new_CreateProcess
return getattr(_subprocess, original_name)(app_name, patch_arg_str_win(cmd_line), *args)
FileNotFoundError: [WinError 2] The system cannot find the file specified
我不明白为什么找不到文件。
【问题讨论】:
-
你的路径正确吗?
FileNotFoundError告诉我你可能给了它一个相对路径,但这不是文件所在的路径 -
我添加了 filename = '"' + filename + '"' 和 filename.replace("\\", "/") 但仍然得到相同的错误。 print(filename) 给我“C:/Users/name/Desktop/file.csv”
-
Python 脚本是否在与 R 相同的环境中运行?此外,使用内置
os模块中的os.path.join()用于os-agonstic 文件路径。检查 Python 是否可以看到带有os.path.exists()的路径。最后,请注意,R 有自己的 GUI 模块:gWidgets2、RGtk2、rattle! -
环境变量设置不正确。 FileNotFoundError 在这里有点令人困惑。感谢您的帮助!