小编rei*_*rdt的帖子

os.path.join 是否有 Pathlib 替代品?

我目前正在使用Pathlib如下方式访问我的文件的父目录:

Path(__file__).parent
Run Code Online (Sandbox Code Playgroud)

当我打印它时,这给了我以下输出:

print('Parent: ', Path(__file__).parent)
#output
/home/user/EC/main-folder
Run Code Online (Sandbox Code Playgroud)

main-folder有一个.env,我想访问文件和我想加入与父路径.env。现在,我做到了:

dotenv_path = os.path.join(Path(__file__).parent, ".env")
Run Code Online (Sandbox Code Playgroud)

哪个有效。但我想知道,是否有Pathlib替代方案os.path.join()?就像是:

dotenv_path = pathlib_alternate_for_join(Path(__file__).parent, ".env")
Run Code Online (Sandbox Code Playgroud)

python python-3.x pathlib

28
推荐指数
4
解决办法
1万
查看次数

使用flask_restful 构建RESTApi 时出错

Flask RESTApi 新手在这里

我正在尝试在 Flask 中构建一个 RESTapi 服务(并且我正在尝试将输出保存为.txt文件),使用pydifact模块flask_restful使用我的代码,如下所示:

import datetime
from pydifact.message import Message
from pydifact.segments import Segment
from flask import Flask, request
from flask_restful import Resource, Api

app = Flask(__name__)

api = Api(app)


class RestAPI(Resource):
    def get(self, ABSENDER_ID, EMPFÄNGER_ID, ERSTELLUNG_DATUM_ZEIT, REFERENCE):
        MSCONS = Message()

        def erstellung_datum_zeit(dt_time):
            # Needed for the UNB segment
            dt_time = dt_time.strftime('%Y%m%d%H%M')
            return dt_time

        def UNA_UNB_segment(absender_id, empfänger_id, erst_datum, ref):

            MSCONS.add_segment(Segment('UNA', ":+.? '"))
            MSCONS.add_segment(Segment('UNB', ['UNOC', '3'], [absender_id, '14'], [
                               empfänger_id, '500'], …
Run Code Online (Sandbox Code Playgroud)

python flask python-3.x flask-restful

4
推荐指数
1
解决办法
4005
查看次数

AWS:无法导入模块“处理程序”:没有名为“numpy”的模块

AWS 新手在这里

我必须通过 gitlab CI 作为 lambda 托管我的 python 脚本,并通过 AWS 上的 cloudwatch 触发它。

我正在学习以下教程:

  1. https://docs.gitlab.com/ee/user/project/clusters/serverless/aws.html
  2. https://serverless.com/blog/serverless-python-packaging/

在第一个教程中,我只获取该.gitlab-ci.yml文件并将其添加到第二个教程中显示的教程中(但我选择 3.7 作为运行时而不是 python 3.6)

我有以下serverless.yml文件

service: numpy-test

provider:
  name: aws
  runtime: python3.7

functions:
  numpy:
    handler: handler.main

plugins:
  - serverless-python-requirements

custom:
  pythonRequirements:
    dockerizePip: non-linux

package:
  exclude:
    - venv/**
Run Code Online (Sandbox Code Playgroud)

和以下.gitlab-ci.yml文件:

service: numpy-test

provider:
  name: aws
  runtime: python3.7

functions:
  numpy:
    handler: handler.main

plugins:
  - serverless-python-requirements

custom:
  pythonRequirements:
    dockerizePip: non-linux

package:
  exclude:
    - venv/**
Run Code Online (Sandbox Code Playgroud)

当我推送.gitlab-ci.yml文件时,它运行没有任何错误。

在此处输入图片说明

我可以看到在我的 AWS lambda …

python amazon-web-services gitlab serverless-framework serverless

4
推荐指数
1
解决办法
677
查看次数

如何根据另一个列表中的值重新排列列表中的值?

我有一个列表如下:

PastValues = [76978.359, 71079.933, 75580.227]
Run Code Online (Sandbox Code Playgroud)

我做了:

PastValues2 = PastValues + [-value for value in PastValues]
Run Code Online (Sandbox Code Playgroud)

创建 中值的负值PastValues并将它们与 中的值连接起来,PastValues它给了我以下列表PastValues2

[76978.359, 71079.933, 75580.227, -76978.359, -71079.933, -75580.227]
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法将 中的值重新PastValues2排列为与PastValues.

期望的输出:

PastValues2 = [-76978.359, 76978.359, -71079.933, 71079.933, -75580.227, 75580.227]
Run Code Online (Sandbox Code Playgroud)

由于PastValues列表中76978.359是第一个元素,我希望 中的前 2 个元素PastValues2分别是它的负值和正值。PastValues列表中的其他元素也是如此。负值应该在正值之前

python numpy list python-3.x

3
推荐指数
1
解决办法
66
查看次数

如何填写列中的第一个日期?

我有一个df

dates   values
2020-01-01 00:15:00 38.61487
2020-01-01 00:30:00 36.905204
2020-01-01 00:45:00 35.136584
2020-01-01 01:00:00 33.60378
2020-01-01 01:15:00 32.306791999999994
2020-01-01 01:30:00 31.304574
Run Code Online (Sandbox Code Playgroud)

我正在创建一个名为start如下的新列:

df = df.rename(columns={'dates': 'end'})
df['start']= df['end'].shift(1)
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我得到以下信息:

end values  start
2020-01-01 00:15:00 38.61487    NaT
2020-01-01 00:30:00 36.905204   2020-01-01 00:15:00
2020-01-01 00:45:00 35.136584   2020-01-01 00:30:00
2020-01-01 01:00:00 33.60378    2020-01-01 00:45:00
2020-01-01 01:15:00 32.306791999999994  2020-01-01 01:00:00
2020-01-01 01:30:00 31.304574   2020-01-01 01:15:00
Run Code Online (Sandbox Code Playgroud)

我想NaT

2020-01-01 00:00:00
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

python python-3.x pandas

2
推荐指数
1
解决办法
44
查看次数