"with open(os.path.join(os.path.dirname(os.path.abspath(\'__file__')) ,'.\profile.json') as profile_json)" 是什么意思? python

what does "with open(os.path.join(os.path.dirname(os.path.abspath(\'__file__')) ,'.\\profile.json') as profile_json)" mean ? python

这行是什么意思?

我在这一行中也遇到了错误,错误说: “行继续字符后出现意外字符”

我是新手,无法解决这个问题。

如有任何帮助,我们将不胜感激。谢谢

我的代码 - 从 ibm_watson 导入 PersonalityInsightsV3

from ibm_cloud_sdk_core.authenticators import IAMAuthenticator

from os.path import join, dirname

import json

import os

authenticator = 
IAMAuthenticator('{api key')

personality_insights = PersonalityInsightsV3(version='2017-10-13', 
authenticator=authenticator)

personality_insights.set_service_url('{url}')



with open(os.path.join(os.path.dirname(os.path.abspath(\'__file__')) 
,'.\profile.json')) as profile_json)

profile =personality_insights.profile(profile_json.read(),'application/json', 
         content_type='application/json', consumption_preferences=True, 
         raw_scores=True,get_result())

print(json.dumps(profile, indent=2))

您的代码中有太多 Python 语法错误,很难知道从哪里开始。

所以我给你一个来自 API 文档的(更正的)样本:https://cloud.ibm.com/apidocs/personality-insights?code=python#profile

记下 \: 和缩进的位置和内容。它们是 python 语法的关键。

from ibm_watson import PersonalityInsightsV3
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from os.path import join, dirname
import json

authenticator = IAMAuthenticator('{apikey}')
personality_insights = PersonalityInsightsV3(
    version='2017-10-13',
    authenticator=authenticator
)

personality_insights.set_service_url('{url}')

with open(join(dirname(__file__), 'profile.json')) as profile_json:
    profile = personality_insights.profile(
        profile_json.read(),
        'application/json',
        content_type='application/json',
        consumption_preferences=True,
        raw_scores=True
    ).get_result()
    print(json.dumps(profile, indent=2))

顺便说一下,通过将其包含在您的问题中,您已经创建了 API 密钥 public。

正确写入时,相关行表示:打开文件,在此位置找到作为变量 profile_json,如果成功,将在缩进代码中使用。

dirname(__file__)

是您python文件的目录位置运行。

join,构造一个平台无关的文件路径。您不应该包含目录分隔符,因为那样会违背平台独立性原则。因此,在您的情况下,您希望输入 profile.json 与 python 代码位于同一目录中。