首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从不同文件中访问变量

如何从不同文件中访问变量
EN

Stack Overflow用户
提问于 2021-04-17 07:21:36
回答 1查看 34关注 0票数 0

我的第一个文件"sk_read_write.py“如下:

代码语言:javascript
复制
  from spark_conn import *
    from Table_structure import *
    class read_write1:
        def sk_read_write1(self,schema,spark):
            df3 = spark.read.option("multiline", "true").option("mode", "PERMISSIVE").schema(schema).json(
                "C:\\Users\\komu0\\Desktop\\Read\\*.json")
            print(Spark_connect_1.connection())
            df3.write.format('jdbc').options( url= Spark_connect_1.connection+str(connection._port),
                                             driver='com.mysql.cj.jdbc.Driver',
                                             dbtable='sparktable',
                                             user=connection._username,
                                             password=Spark_connect_1.connection._pass).\
                                             mode('append').save()

我的另一个文件是spark_conn.py:

代码语言:javascript
复制
from pyspark.sql.types import StructType,StructField, StringType, IntegerType,BooleanType,DoubleType
from aws_config import *
from Table_structure import*
class Spark_connect_1:
    dict1 = get_secret()
    def connection(self):
        dict1 = get_secret()
        _username = dict1['username']
        _pass = dict1['password']
        _host = dict1['host']
        _port = dict1['port']
        _dbname = dict1['dbname']
        spark = SparkSession.builder \
            .master("local[1]") \
            .appName("JSON_MYSQL") \
            .getOrCreate()

        return spark

我想在sk_read_write文件中使用“_port”中的变量。我曾尝试将spark_conn导入sk_read_write文件并使用"Spark_connect_1.connection._port“(获取端口名称),但不起作用,请建议如何继续

EN

回答 1

Stack Overflow用户

发布于 2021-04-17 09:09:31

您可以使用_port的类变量来访问端口名称

示例

base_file.py

代码语言:javascript
复制
class ABC:
    _port = "Some value"

    def sample(self):

        ABC._port = "another value"

        print("Value of port is {}".format(ABC._port))

test_file.py

代码语言:javascript
复制
from base_file import  ABC

#before changing value:

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

https://stackoverflow.com/questions/67133232

复制
相关文章

相似问题

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