首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows 10中使用Pycharm的路径和权限问题

在Windows 10中使用Pycharm的路径和权限问题
EN

Stack Overflow用户
提问于 2016-04-13 12:53:07
回答 3查看 7.1K关注 0票数 0

问题

使用Pycharm和Windows 10,我得到了权限错误和代码不一致。我可以在我的windows 10桌面上使用这段代码,但它不能在我的Surface 4上工作:

xlsx = pd.ExcelFile('\test\Participant01Master.xlsx')

请注意文件夹和文件在我的PyCharm项目中。我使用熊猫作为上面给出的代码。然而,给我的错误是:

FileNotFoundError: [Errno 2] No such file or directory: '/test/Participant01Master.xlsx'

我想也许我的xlrd依赖有点古怪。因此,我尝试卸载xlrd包(以重新安装),得到了以下内容:

尝试解决方案

我可以成功地使用代码df = pd.read_excel(open('C:\\Users\hlyates\Source\Repos\Project0\Data\Participant01Master.xlsx','rb'))来读取我的文件。但是,这感觉很恶心,因为我的xlxs代码行适用于一台机器而不是另一台机器?

至于路径,我验证了PyCharm在Administrators组中,并且我的用户配置文件具有相同的权限和特殊的访问权限。

摘要

这真的扼杀了我对Windows生态系统的热情?我觉得PyCharm并没有像我的Windows 10机器那样工作。当我和管理组已经有权限时,当PyCharm管理(这似乎修复了一些奇怪的文件权限问题)时,我不应该需要右键单击并以管理员身份运行。我也觉得很奇怪,我的IDE会在我的桌面上工作,而不是Surface 4,我不像Windows那样对抗Linux。我只分享了这两个问题,因为我觉得它们可能是相关的?如果我正在做一些愚蠢的事情,尽一切努力指出这一点,我会纠正它,但我正在尽我所能对我提供的信息。谢谢你的耐心。:)

参考资料

我使用的代码找到了这里进行测试。

EN

回答 3

Stack Overflow用户

发布于 2016-04-13 14:39:51

您应该安装Python而不是“Program”文件夹,尝试'C:\Python\python35-32\‘,一切都会好起来的。如果您需要更多详细信息,请查看主题。

关于Windows 10的炒作太多了,其实没有什么特别的。

票数 3
EN

Stack Overflow用户

发布于 2016-04-13 14:48:51

一个可能发生的问题是文件分隔符的问题。看起来您在路径名中使用反斜杠。Python将'\‘视为转义字符。若要使文件路径正常化(独立于OS),请使用os.path.normpath将斜杠转换为当前操作系统使用的文件分隔符:

代码语言:javascript
复制
xlsx = pd.ExcelFile(os.path.normpath('\test\Participant01Master.xlsx'))

另一种方法可以使用os.sep代替斜杠。对于正在运行的OS python,这将使用正确的文件分隔符:

代码语言:javascript
复制
xlsx = pd.ExcelFile('{0}test{0}Participant01Master.xlsx'.format(os.sep))

引用: os路径文档:https://docs.python.org/2/library/os.path.html#os.path.normpath

OS9epdoc:https://docs.python.org/2/library/os.html#os.sep

关于python文件路径的博客:https://pythonconquerstheuniverse.wordpress.com/2008/06/04/gotcha-%E2%80%94-backslashes-in-windows-filenames/

票数 0
EN

Stack Overflow用户

发布于 2017-09-27 20:01:19

我正在使用windows 10中的py魅力查找我使用的任何系统中的文件:

代码语言:javascript
复制
from os.path import expanduser, join, dirname, abspath
home = expanduser("~")  # this is the path to the home folder of the current user
curdir = dirname(abspath(__file__))  # This one returns the path to the file that is running
filepath = join (curdir, 'filename.txt')  # This one joins the path of my current directory to a file name (or any other path) independent of the system

我对此进行了测试,并在Linux和Windows中工作

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

https://stackoverflow.com/questions/36599020

复制
相关文章

相似问题

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