为什么我在 macOS 上收到“没有此类文件或目录”错误?

2023-12-26

使用以下代码:

fileName = 'Data\\all_earthquakes.csv'
with open(fileName, 'rb') as csv_file:
    attrHeaderRow = csv_file.readline().strip()

我收到以下错误:

IOError: [Errno 2] No such file or directory: 'Data\\all_earthquakes.csv'

它在我的 Windows 7 机器上运行得非常好。


Windows 和 Mac OS X 使用不同的字符来分隔路径中的元素。 Windows 使用反斜杠,Mac OS X(和 Linux/UNIX)使用正斜杠。 Python 会为你处理这个问题:使用os.path.join使用当前操作系统的正确分隔符构建路径或使用os.sep如果您需要用于路径分隔的实际字符。

import os
import sys

fileName = os.path.join('Data', 'all_earthquakes.csv')
print('Directory separator on your platform ({}): {}'.format(sys.platform, os.sep))

请注意,在使用 Windows API 时,Windows 通常也接受正斜杠作为路径分隔符 - 只是 CMD.EXE 不接受它们。这就是为什么在 Windows 上,os.altsep设置为正斜杠(人们只是在所有路径中使用正斜杠,即使在 Windows 上也是如此)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我在 macOS 上收到“没有此类文件或目录”错误? 的相关文章

随机推荐

  • 如何从命令行覆盖 grails 配置

    我正在尝试覆盖dataSource url从命令行运行 grails 的值 示例 grails
  • 错误:包路径 ./compat 未从包中导出

    Note 我想我能够重现这个 参见堆栈闪电战示例 https stackblitz com edit angular fire start np32w7 file app 2Fapp component ts 错误在控制台中打印为 INTE
  • 如何在 SSIS 中的执行 SQL 任务中使用参数映射?

    我正在尝试检索的值Key通过 SSIS 中的简单 select 语句从表中获取Execute SQL Task 但没有运气找出这个错误 我使用了一个字符串数据类型的输入变量 并在参数映射中使用了该变量Execute SQL Task 执行查
  • 具有墓碑的哈希表的负载因子

    那么问题来了 在计算哈希表的负载因子时是否应该包括墓碑 我认为 考虑到负载系数是用来确定何时扩展容量的 所以不应该包括墓碑 一个明显的例子是 如果您几乎填充然后删除哈希表中的每个值 这里的插入非常容易 没有碰撞 所以我相信负载因子不应该包括
  • laravel phpunit 测试与 api 令牌身份验证

    如何在 phpunit 中添加授权标头 我正在测试需要 api token 的 json api laravel 文档提供了actingAs 方法 但这在我的情况下不起作用 因为 api 令牌与用户表不直接相关 EDIT public fu
  • 无法从 Objective-C 视图控制器访问 Swift var - iOS

    我有一个带有 Objective C 和基于 Swift 的视图控制器的应用程序 我正在以编程方式从我的一个基于 Objective C 的视图控制器之一打开一个基于 Swift 的视图控制器 我遇到的问题是我无法从 Objective C
  • 返回带有准备好的语句的时间戳

    我有一个自动生成的时间戳 每次在 mysql 表中插入或更新记录时都会创建该时间戳 有没有办法以类似于我使用密钥持有者返回新创建的 id 的方式返回此时间戳 KeyHolder keyHolder new GeneratedKeyHolde
  • Liferay集群[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您知道有关在 Glassfish 中安装 Liferay 集群的分步教程吗 谷歌给我找到了这篇文章 名为
  • Android布局动画在ImageView上从下到上和从上到下单击

    我在 Android 中创建了一个视图 我需要从下到上对其进行动画处理 反之亦然 当我点击ImageView我需要制作完整的动画RelativeLayout从下到上 就成功了 但是当我再次点击ImageView而且它并没有向下移动 另外 当
  • Morris.js 条形图未渲染悬停在文本上

    我正在使用 Morris js 条形图 由于某种原因 本应出现在 HOVER OVER 上的数字列在左下角 有人知道为什么吗 如果没有任何代码 很难给出一个好的答案 但是 它可能与您的 CSS 文件有关 莫里斯用它来放置胡佛 CSS mor
  • 我如何增加 inputAccessoryView 的高度

    我在这个问题上花了几天时间 但没有看到解决方案 我有一个inputAccessoryView其中包括一个UIView含有一个textView和两个按钮 的行为inputAccessoryView符合预期 并且在除一种情况外的所有情况下都工作
  • 打开 .exe 并通过 Python 子进程向其传递命令?

    所以我的 exe 程序已打开 但我想从 python 脚本将字符串传递给它 我像这样打开exe import subprocess p subprocess Popen E Work my exe shell True let user f
  • Android:无法让 YouTube Player API 在片段内工作

    我正在尝试让我的应用程序在片段中播放 YouTube 视频 如下所示本官方文档 https developers google com youtube android player reference com google android
  • 如何使用 jQuery 检查文本字段值与数组中的单词?

    我的数组有字符串值 var bannedWords cat dog test 我的文本输入字段检查该值是否包含数组中的单词 var title j edit content val if j inArray title bannedWord
  • 返回层次结构中第 N 级的类别名称(parentId -1 的类别位于第 1 级)

    数据样本 WITH sample data AS SELECT CategoryId ParentCategoryId Name Keywords FROM VALUES 100 1 business Money 200 1 tutorin
  • 托管目标代码需要“\clr”选项:错误

    当我尝试批量构建项目时 在启用 clr 运行时支持时遇到此错误 我的项目可以毫无问题地运行 并且只有当我尝试进行批量构建时才会收到此错误 我在 google 中进行了大量搜索 但大多数结果都是关于启用 clr 选项 我想知道如何解决这个问题
  • 在 ASP.NET MVC5 中绑定 @Html.DropDownListFor 的最佳方法是什么?

    我要绑定 Html DropDownListFor from Model不使用数据Viewbag并查看网络上的许多不同示例 但大部分都用Viewbag或扩展方法 我想要一个更好的方法来解决这个问题 我尝试了以下方法 但似乎不起作用 Html
  • Linspace 与 Range

    我想知道什么是更好的风格 更高效 x linspace 1 1 100 or x 1 0 01 1 正如奥利 查尔斯沃斯提到的 linspace你划分区间 a b into N点 而与 形式 你走出a以指定的步长 默认 1 直到达到b 要记
  • 防止 Javascript 和 XSS 攻击

    我正在对我的网站进行 xss 防护 防止 javascript 和 xss 攻击 它是用 ASP NET Webforms 编写的 我想测试的主要部分是一个具有文本框 附加有tinyMCE 的用户控件 用户可以通过在此文本框中写入内容来将故
  • 为什么我在 macOS 上收到“没有此类文件或目录”错误?

    使用以下代码 fileName Data all earthquakes csv with open fileName rb as csv file attrHeaderRow csv file readline strip 我收到以下错误