Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Jupyter上打开本地文件?_Python_Jupyter Notebook_Jupyter - Fatal编程技术网

Python 如何在Jupyter上打开本地文件?

Python 如何在Jupyter上打开本地文件?,python,jupyter-notebook,jupyter,Python,Jupyter Notebook,Jupyter,在[1]中: 出[1]: path='/Users/apple/Downloads/train.csv' open(path).readline() FileNotFoundError回溯(最近的调用 最后) 在() ---->1打开(路径).readline() FileNotFoundError:[Errno 2]没有这样的文件或目录: “/Users/apple/Downloads/train.csv” 我很困惑。我认为这段代码与许多教程完全相似,我确信我的文件路径正确,但为什么它不起

在[1]中:

出[1]:

path='/Users/apple/Downloads/train.csv'
open(path).readline()
FileNotFoundError回溯(最近的调用
最后)
在()
---->1打开(路径).readline()
FileNotFoundError:[Errno 2]没有这样的文件或目录:
“/Users/apple/Downloads/train.csv”

我很困惑。我认为这段代码与许多教程完全相似,我确信我的文件路径正确,但为什么它不起作用?

osX
上,您的路径应该是:

FileNotFoundError                         Traceback (most recent call 
last)
<ipython-input-7-7fad5faebc9b> in <module>()
----> 1 open(path).readline()

FileNotFoundError: [Errno 2] No such file or directory: 
'/Users/apple/Downloads/train.csv'

使用
名称
当前登录的用户

您是在Windows还是Linux上运行此功能?如果您在Windows上,则应该使用类似于
C:\\Users\\apple\\Downloads\train.csv
的路径。如果您使用的是Linux,那么您可以遵循相同的路径。

我建议您首先测试它: 将此
train.csv
复制到与中此jupyter脚本相同的目录中,然后将路径更改为
train.csv
,以测试是否可以成功加载此脚本

如果是,则表示前面的路径输入有问题


如果不是,这意味着它自己拒绝您访问它的文件,或者它的真实文件名可以是类似于:
train.csv。

许多教程说我们应该更改Jupyter的工作流程,但我没有理解

最后,我找到了一个简单的方法:只需将文件拖动到此部分


我不知道这是不是你要找的,但我觉得是这样的

这适用于linux(ubuntu),但可能也适用于mac:

如果该文件是名为“book.pdf”的pdf文件,并且位于您的下载中,则

path = "/Users/name/Downloads/filename"

其中evince是在ubuntu中打开PDF的程序,这里有一个可能的解决方案(Python):

假设您有一个文件名为notebook.ipynb的笔记本。您当前正在使用该笔记本,并且希望访问该笔记本周围的其他文件夹和文件。以下是它的路径:

import subprocess

path='/home/user/Downloads/book.pdf'
subprocess.call(['evince', path])
换句话说,只需使用操作系统模块,获得笔记本的绝对路径(它也是一个文件!)。从那里,使用操作系统模块和路径进行导航

例如,如果您的train.csv位于名为“Datasets”的文件夹中,而笔记本正好位于该文件夹旁边,则您可以获得如下数据:

import os
notebook_path = os.path.abspath("Notebook.ipynb")
要点是笔记本有一个文件名,只要您的语言支持路径名操作(例如Python中的os模块),您就可以使用笔记本文件名


最后,您的代码失败的原因可能是,当您在联机笔记本(如Kaggle,它为您托管环境,联机且远离Mac)中工作时,您试图访问本地文件(如Mac的“下载”文件夹),或者您移动或删除了该路径中的某些内容。这就是Python中的os模块要做的事情;它将找到文件的路径,无论是在Mac上还是在Kaggle服务器上。

简单的方法是将文件移动到python文件的同一文件夹下读取,然后只需使用文件名,而无需调用其他路径。

打开终端。转到文件所在的文件夹(在终端ie.
cd路径/to/folder
)。运行
jupyter笔记本
。瞧,你有这样的东西:

请注意,要打开文件夹中的笔记本,您可以在浏览器中单击它,或转到地址:

train_csv = os.path.join(os.path.dirname(notebook_path), "Datasets/train.csv")
with open(train_csv) as file:
    #....etc

要在Windows中启动Jupyter笔记本,请执行以下操作:

  • 打开Windows命令(win+R并返回命令)
  • 将目录更改为所需的文件路径(cd文件路径)
  • 发出命令
    jupyter笔记本
启动Jupyter笔记本后,您可以从其UI进一步导航(如果您不是直接启动正确的文件)。
您可以直接将文件拖放到cmd,以打开文件

http://localhost:8888/notebooks/name_of_your_file.ipynb

服务器在哪里运行?遗憾的是,在jupyter的“资源管理器视图”中右键单击任何文件夹都无法获得菜单选项,从而在真正的os文件资源管理器中打开该文件夹。这将导致文件和文件夹操作的复杂技巧。也就是说,您终于找到了将文件放到头区域的方法。很高兴知道:在Windows上,您还可以使用
打开工作目录!explorer.
单元格中的命令(
explorer
调用Windows资源管理器,
将初始目录设置为当前目录(否则使用documents文件夹)。您可以用任何有效路径替换
。谢谢,但我的用户名是“apple”。在Windows 10中,不需要使用双反斜杠,即我使用了
C:\Users\apple\Downloads\train.csv
,它工作正常。非常明显,没有人能看到!Ty:)
C:\Users\kushalatreya>jupyter notebook "C:\Users\kushalatreya\Downloads\Material\PythonCourseFolder\PythonCourse-DataTypes.ipynb"