首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在木星笔记本中用主方法调用Python文件

在木星笔记本中用主方法调用Python文件
EN

Stack Overflow用户
提问于 2022-04-05 08:40:36
回答 2查看 301关注 0票数 0

我有个问题。我想在我的朱庇特笔记本中调用Python文件。我查看了How to execute a * .PY file from a * .IPYNB file on the Jupyter notebook?,但不幸的是,%run -i 'file.py'!python file.py无法工作,因为我的文件与朱庇特笔记本文件不在同一个文件夹中。

那么,我如何从不同的文件夹调用Python文件呢?Jupyter笔记本

代码语言:javascript
复制
from pathlib import *
# I am using pathlib, because of the whitespace in OneDrive
p = Path('C://Users//user//OneDrive - user//folder//file.py')
# %run -i ''C://Users//user//OneDrive - user//folder//file.py'
!python p
[OUT] python: can't open file 'C:\Users\user\Documents\p': [Errno 2] No such file or directory

file.py

代码语言:javascript
复制
def main():
    print("Hello")
    return "test"

if __name__ == "__main__":
    main()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-05 09:11:29

chdir()将当前工作目录更改为给定路径。

这应该是你的工作:

代码语言:javascript
复制
import os
filepath = r'C:\Users\user\OneDrive - user\folder' 
os.chdir(filepath)
%run file.py
票数 1
EN

Stack Overflow用户

发布于 2022-04-19 21:33:09

假设您的文件位于子文件夹./playground/test folder中,那么您可以这样做:

代码语言:javascript
复制
file_name = ".\\playground\\test folder\\hello_world.py"

%run "$file_name"

诀窍是在使用%run时,在文件名(如果路径包含空格)周围使用引号。

如果您使用!python,则同样适用

代码语言:javascript
复制
file_name = ".\\playground\\test folder\\hello_world.py"

!python "$file_name"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71748649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档