【问题标题】:IOError: [Errno 2] No such file or directory on MacIOError: [Errno 2] Mac 上没有这样的文件或目录
【发布时间】:2015-11-08 01:11:08
【问题描述】:

我尝试打开一个确实存在的文件,但我不断收到以下错误消息:

No such file or directory on Mac

我已确保它与 python 代码位于同一目录中。我还尝试更改 excel 文档的名称以及该文档是否为 .xls.xlsx,但它没有奏效。

这是我尝试过的几个版本,但到目前为止,它们都给了我相同的结果。

import os.path
book = open(os.path.expanduser("~/Desktop/Crimes.xlsx"))

import xlrd
import os.path
book = xlrd.open_workbook(os.path.join("/Users/caitlinwesterfield",'Crime.xls')

import xlrd
book = xlrd.open_workbook('Crime.xls')

import xlrd
book = open('/Users/caitlinwesterfield/Desktop/Crime.xls', "r")

import xlrd
book = open("~/Crime.xls", "r")

import xlrd
book = open(os.path.expanduser(r"~/Desktop/Crime.xls"))

import xlrd
book = open('Crime.xls')

import xlrd
book = open(os.path.expanduser("/Users/caitlinwesterfield/Desktop/Crime.xls"))

import xlrd
import os
book = xlrd.open_workbook(os.path.join("/Users/caitlinwesterfield","TypesOfCrime.xls"))

import xlrd
book = xlrd.open_workbook("typesofcrime.xls")

【问题讨论】:

  • 您是否尝试打开文本文件而不是 .xls 文件?
  • 它仍然无法将文档作为 .txt 文件找到,但我不确定这将如何让我稍后在 excel 文档中遍历行
  • 如你所说,它找不到 any 文件。你能在文件中写入一些文本吗?
  • 问题是代码可以找到文件并找到路径,它只是找不到 xlrd.open_workbook 或 open 中的文档。我不确定这是什么意思
  • 例如,这段代码有效:print os.path.abspath('Types_Of_Crime.xlsx')

标签: python excel operating-system xlrd


【解决方案1】:

您是否尝试过检查是否存在权限问题?

打开你的终端并 cd 到正确的目录

cd -l

以下是这些权限的含义:

rwxrwxrwx  <-- r refers to read, w to write, and x to execute
---------  <-- a hyphen refers to the permission not existing 

尝试运行:

chmod 777 Crimes.xlsx
# you might need to add sudo if you get permission error:
sudo chmod 777 Crimes.xlsx

image source and more info

how to use the terminal

【讨论】:

  • 如果错误真的是关于权限的,我认为错误应该是PermissionError: [Errno 13] Permission denied: filename
  • 是的,我认为这不是权限问题
  • 对,没听懂
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多