函数用相对路径读取文件(python )jupyter

我用

f=open ("文章. txt ", 'r', encoding ='utf-8'
text =f. read ()

这两行代码打不开文章. txt 这个文档
是什么原因呢?请赐教
图片在此

img


要怎么改才可以用相对路径打开文章. txt 这个文档呢

%lsmagic 获取当前的支持的魔法命令,可能win与linux魔法命令有所区别
%pwd查看一下当前路劲,使用文件对应当前的相对路径

可能的原因有很多,以下是一些常见的问题和解决方法:
1、文件路径错误:请确保文件路径正确并且文件存在。相对路径应该是相对于当前工作目录的路径。您可以尝试使用os.getcwd()来获取当前工作目录并检查文件是否在该目录下。

2、文件名错误:请确保文件名正确,并且不包含任何奇怪的字符。如果文件名中包含空格或特殊字符,请确保在文件名中使用引号。

3、文件权限问题:请确保您的代码有权限读取该文件。在某些情况下,文件可能被其他程序或用户锁定,因此您需要关闭该程序或获取管理员权限才能访问该文件。

4、编码问题:请确保您指定的编码与文件的实际编码匹配。如果文件是使用不同的编码格式保存的,则可能会出现编码错误。尝试使用chardet模块检测文件编码并使用正确的编码格式打开文件。

您可以尝试使用以下代码来检查文件是否存在并打开它:

import os

filename = "文章.txt"
if os.path.isfile(filename):
    with open(filename, 'r', encoding='utf-8') as f:
        text = f.read()
else:
    print("文件不存在")

如果文件不存在,则会输出“文件不存在”消息。否则,它将打开文件并读取其中的内容。

  • 这篇博客: Jupyter导出中文PDF格式文档中的 3. 编辑tex文件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 为了支持中文输出,我们需要更改一下tex文件,双击该tex文件,在\documentclass{article}的后面插入如下语句:
    \usepackage{fontspec, xunicode, xltxtra}
    \setmainfont{Microsoft YaHei}
    \usepackage{ctex}

    然后保存即可。

    在这里插入图片描述

(1)"文章. txt " 中有一个空格,删除即可。
(2)建议不要把程序和文档放在桌面,可以建立一个项目目录,比较清楚。

以下内容部分参考ChatGPT模型:


可能是文件路径不正确,需要使用相对路径或者绝对路径来读取文件。可以使用os模块获取当前文件所在的路径,并且以此为基础来读取文件。例如:

import os

# 获取当前文件所在的路径
current_path = os.path.dirname(os.path.abspath(__file__))

# 读取文件
with open(os.path.join(current_path, "文章.txt"), "r", encoding="utf-8") as f:
    text = f.read()

这里使用os.path.abspath方法获取当前文件所在的路径,os.path.dirname方法获取该路径的上级路径,然后使用os.path.join方法拼接出文件的路径。最后使用with语句来打开文件,并自动关闭文件。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快