我是python和编程的新手。我正在编写一个脚本,学习如何将列表变量从一个类传递到另一个类。代码已附加。我不确定如何将列表从URL类传递到createRules类。你知道吗
import csv, sys, time
from urlparse import urlparse, urlsplit, urlunsplit
class URL():
""" Function parses out urls to get needed parts"""
def processUrl(self):
fromUrlArr = [[], [], [], []]
dstUrlArr = [[], [], [], [], []]
markets = []
with open('Redirects.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter=',')
for row in readCSV:
from_url = urlparse(row[0])
dst_url = urlparse(row[1])
path = dst_url.path.split('/')[2:]
dst_path = '/'.join(path)
market = from_url.path.split('/')[1]
fromUrlArr[0].append(from_url.scheme) # I want to use the following list in the class below
dstUrlArr[0].append(dst_url.scheme)
fromUrlArr[1].append(from_url.netloc)
dstUrlArr[1].append(dst_url.netloc)
fromUrlArr[2].append(from_url.path)
dstUrlArr[2].append(dst_path)
fromUrlArr[3].append(from_url.query)
dstUrlArr[4].append(market)
dstUrlArr[3].append(dst_url.query)
class Rule():
def createRules():
# ticket = str(sys.argv[1])
# user = str(sys.argv[2])
# today = time.strftime("%Y-%m-%d")
你会把它当作一个论点。在Python中,所有对象类型都是通过引用传递的。所以你需要改变一下
createRules()
的定义。我假设您打算将它用作工厂函数并在类上调用它,因此需要创建一个类方法。你知道吗然后你可以通过这样称呼它来传递一个列表
一般来说你能做的是
对于您的示例,这将类似于:
rule=规则() rule.createRules创建规则()
相关问题 更多 >
编程相关推荐