相关疑难解决方法(0)

Python中的相对路径

我正在构建一个简单的帮助脚本,用于将代码库中的几个模板文件复制到当前目录.但是,我没有存储模板的目录的绝对路径.我确实有一个来自脚本的相对路径,但是当我调用脚本时,它将其视为相对于当前工作目录的路径.有没有办法指定这个相对url来自脚本的位置?

python path relative-path

204
推荐指数
9
解决办法
34万
查看次数

在Python中的相对位置打开文件

假设python代码在先前的Windows目录中称为"main"而不知道,并且在运行时安装代码的任何地方都需要访问目录"main/2091/data.txt".

我应该如何使用开放(位置)功能?应该是什么位置?

编辑:

我发现下面的简单代码会起作用..它有什么缺点吗?

    file="\2091\sample.txt"
    path=os.getcwd()+file
    fp=open(path,'r+');
Run Code Online (Sandbox Code Playgroud)

python file path relative-path

112
推荐指数
7
解决办法
38万
查看次数

Python open()给出IOError:Errno 2没有这样的文件或目录

出于某种原因,我的代码无法打开一个简单的文件:

这是代码:

file1 = open('recentlyUpdated.yaml')
Run Code Online (Sandbox Code Playgroud)

错误是:

IOError: [Errno 2] No such file or directory: 'recentlyUpdated.yaml'
Run Code Online (Sandbox Code Playgroud)
  • 当然,我检查了这是文件的正确名称.
  • 我试过移动文件,给出文件open()的完整路径,似乎没有任何工作.

python file-io file filenotfoundexception file-not-found

56
推荐指数
3
解决办法
30万
查看次数

在python项目中使用相对路径读取文件

假设我有一个python项目,结构如下:

project
    /data
        test.csv
    /package
        __init__.py
        module.py
    main.py
Run Code Online (Sandbox Code Playgroud)

__init__.py:

from .module import test
Run Code Online (Sandbox Code Playgroud)

module.py:

import csv

with open("..data/test.csv") as f:
    test = [line for line in csv.reader(f)]
Run Code Online (Sandbox Code Playgroud)

main.py:

import package

print(package.test)
Run Code Online (Sandbox Code Playgroud)

当我运行时,main.py我收到以下错误:

 C:\Users\Patrick\Desktop\project>python main.py
Traceback (most recent call last):
  File "main.py", line 1, in <module>
    import package
  File "C:\Users\Patrick\Desktop\project\package\__init__.py", line 1, in <module>
    from .module import test
  File "C:\Users\Patrick\Desktop\project\package\module.py", line 3, in <module>
    with open("../data/test.csv") as f:
FileNotFoundError: [Errno 2] No such file or directory: …
Run Code Online (Sandbox Code Playgroud)

python io relative-path python-import python-3.x

45
推荐指数
3
解决办法
7万
查看次数

在Windows 7上从F:驱动器中读取.csv到pandas

我在Windows 7 64位上的F:驱动器上有一个.csv文件,我想读入pandas并进行操作.

我看到的所有示例都没有读取除简单文件名之外的任何内容(例如'foo.csv').

当我尝试这个时,我得到的错误消息并没有让我明白这个问题:

import pandas as pd

trainFile = "F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv"
trainData = pd.read_csv(trainFile)
Run Code Online (Sandbox Code Playgroud)

错误消息说:

IOError: Initializing from file failed
Run Code Online (Sandbox Code Playgroud)

我在这里错过了一些简单的东西.谁能看到它?

更新:

我确实得到了这样的更多信息:

import csv

if __name__ == '__main__':
    trainPath = 'F:/Projects/Python/coursera/intro-to-data-science/kaggle/data/train.csv'
    trainData = []
    with open(trainPath, 'r') as trainCsv:
        trainReader = csv.reader(trainCsv, delimiter=',', quotechar='"')
        for row in trainReader:
            trainData.append(row)
    print trainData
Run Code Online (Sandbox Code Playgroud)

我在阅读时收到了权限错误.当我检查文件的属性时,我发现它是只读的.取消选中后,我成功读取了892行.

现在大熊猫也在努力.无需移动文件或修改路径.谢谢你的期待.

python csv pandas

9
推荐指数
3
解决办法
4万
查看次数

使用 pandas,如何将导出的 csv 文件保存到相对于脚本位置的文件夹中?

最好没有整个目录地址。我可以定义相对于可执行脚本位置的文件夹吗?

dataframe.to_csv('findorb_data.txt',header=False, index=False)
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pandas

5
推荐指数
2
解决办法
7850
查看次数