首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本地文件的python3包路径

本地文件的python3包路径
EN

Stack Overflow用户
提问于 2017-03-01 00:07:33
回答 1查看 657关注 0票数 1

我有以下结构

代码语言:javascript
复制
/
/myPackage/
          __init__.py
          myFile.csv
          myFunc.py
/test/
     __init__.py
     func.py

现在myfunc.py有了一个读取myFile.csv的函数

代码语言:javascript
复制
def foo():
     with open('myFile.csv', newline='') as csvfile:
     ......

如果我在func.py中导入foo,路径"myFile.csv“不再正确。如何从myFunc.py引用独立于导入myfunc的文件的myFile.csv?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-01 00:20:03

您可以使用__file__,它引用当前模块的文件路径;结合__file__os.path.dirname,您可以获得包含该模块的目录。

代码语言:javascript
复制
import os

def foo():
     directory = os.path.dirname(__file__)
     csv_path = os.path.join(directory, 'myFile.csv')
     with open(csv_path, newline='') as csvfile:
         ...

如果您使用Python 3.4+,则可以使用pathlib

代码语言:javascript
复制
import pathlib

def foo():
     csv_path = pathlib.Path(__file__).parent / 'myFile.csv'
     with csv_path.open(newline='') as csvfile:
         ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42513588

复制
相关文章

相似问题

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