如何指定python块中的根目录?

2024-06-26 01:35:23 发布

您现在位置:Python中文网/ 问答频道 /正文

用下面的代码行设置python块中的根目录会导致一个错误,而对于普通的r块,它可以正常工作

knitr::opts_knit$set(root.dir ="..")
knitr::opts_knit$set(root.dir ="..")

最佳情况下,每个刀块都应该有以下选项: -查找要导入/执行的代码的目录 -查找代码执行所需的文件/依赖项的目录 -保存任何代码输出的目录

是否存在类似的情况?你知道吗


Tags: 文件代码目录选项错误dir情况root
1条回答
网友
1楼 · 发布于 2024-06-26 01:35:23

这里的情况是,您已经告诉它要查找python代码:

```{python}
knitr::opts_knit$set(root.dir ="..")
```

当您在R studio中运行此程序时,会出现一个错误:

错误:无效语法(,第1行)

你给它输入了python代码。这是有意义的,因为调用knit::opt\u knit$set意味着在knitr包中查找opts\u knit$set并将其设置为…。这在python中还不存在。python编译器无法将其识别为python代码,并返回语法错误。而当您将其作为R块运行时,它知道要查看knitr包。错误处理是一个需要处理的大问题。处理错误类别比解释每种类型的错误更有意义。如果您想控制代码块的设置,可以在括号中这样做,即:

```{python, args }
codeHere
```

我没有看到args用于R以外的任何其他语言,但这并不意味着它不存在。我只是没见过他们。我也不相信这能解决你的问题。您可以尝试以下一些想法:

  • 在单独的文件中编写python并链接到它。这将允许您利用该语言并利用诸如操作系统导入之类的功能。这可能是您需要考虑的问题,因为即使是python也有其在各种操作系统中导航的方法。如果只是运行快速脚本,而不是加载或运行python程序,这可能会很有帮助。你知道吗

    # OS module
    import os
    # Your os name 
    print(os.name)
    # Gets PWD or present working directory
    os.getcwd()
    # change your directory
    os.chdir("path")
    
  • 您可以尝试在R块中使用网状库并以这种方式加载python

  • 另一个想法是你可以试试

    图书馆(网状) 使用python(“path”)

  • 如果需要,Knitr会在与标记文件相同的目录中查找其他文件。这与任何其他IDE一样

  • knitr一度不接受R的setwd()命令。尝试调用setwd()可能对您没有任何好处。你知道吗
  • 计算与正在执行的内容相关的路径可能不是最好的主意。如果可能的话,应该根据用户调用代码的位置来确定它们。你知道吗

This site may help。你知道吗

knitr包的作者非常活跃,也非常投入。祝你好运!你知道吗

相关问题 更多 >