如何接受由空格分隔的多个用户输入?我不知道输入的数量,但我知道它们都是整数.
以下是一些示例输入:
13213 412 8143
12 312
1321 142 9421 9 29 319
Run Code Online (Sandbox Code Playgroud)
我知道如果我事先知道输入的数量就可以做到这一点,但我在制作这种通用时遇到了麻烦.我可以要求用户输入他将输入多少组的整数:
inputs = int(raw_input("Enter number of raw inputs "))
num = []
for i in xrange(1, inputs):
num.append(raw_input('Enter the %s number: '))
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一个更优雅的解决方案,不需要问用户2个问题.
设置时,ssl_session_cache我Nginx经常看到示例将其设置为两个选项之一:
ssl_session_cache shared:SSL:10m;或者ssl_session_cache shared:MozSSL:10m;
这两者有什么区别?
我在用Django 1.8.8.
我有很多模型定义如下:
class MainModel(models.Model):
value = models.IntegerField(null=False, editable=True, default=20)
dt_modified = models.DateTimeField(null=True, auto_now=True)
class MyModel1(MainModel, models.Model):
name = models.CharField(null=False, editable=False, max_length=50)
class MyModel2(MainModel, models.Model):
foo = models.CharField(null=False, editable=False, max_length=50)
Run Code Online (Sandbox Code Playgroud)
我的管理页面目前正如此设置,
class MyModelAdmin(admin.ModelAdmin):
list_display = ('value', 'dt_modified')
search_fields = ['value']
date_hierarchy = 'dt_modified'
models = [MyModel1, MyModel2]
admin.site.register(models, MyModelAdmin)
Run Code Online (Sandbox Code Playgroud)
我想设置我的管理页面如下:在首页上有一个链接/admin,"MainModels"指示我到另一个页面,我可以从所有派生模型的列表中选择MyModel,即[MyModel1, MyModel2, ....MyMoneyN]允许我编辑选定的派生模型.MyModel#.
上面代码的问题是它为每个编号的模型创建了一个顶级链接.
在尝试使用Python生成一系列半年度日期.Pandas提供了一个pd.date_range帮助这个的功能,但我希望我的日期范围从结束日期开始并向后迭代.
例如,给定输入:
start = datetime.datetime(2016 ,2, 8)
end = datetime.datetime(2018 , 6, 1)
pd.date_range(start, end, freq='6m')
Run Code Online (Sandbox Code Playgroud)
结果是:
DatetimeIndex(['2016-02-29', '2016-08-31', '2017-02-28', '2017-08-31',
'2018-02-28'])
Run Code Online (Sandbox Code Playgroud)
如何生成以下内容:
DatetimeIndex(['2016-02-08', '2016-06-01', '2016-12-01', '2017-06-01',
'2017-12-01', '2018-06-01'])
Run Code Online (Sandbox Code Playgroud) 我想为模型中的每个选择组合维护一个具有唯一id的Django模型.然后,我希望能够使用新字段更新模型,而不是先前的唯一ID更改.id可以是哈希或整数或任何东西.实现这一目标的最佳方法是什么?
class MyModel(models.Model):
WINDOW_MIN = 5
WINDOW_MAX = 7
WINDOW_CHOICES = [(i,i) for i in range(WINDOW_MIN - 1, WINDOW_MAX - 1)]
window = models.PositiveIntegerField('Window', editable=True, default=WINDOW_MIN, choices=WINDOW_CHOICES)
is_live = models.BooleanField('Live', editable=True, default=False)
unique_id = ....
Run Code Online (Sandbox Code Playgroud)
鉴于上面的例子,将有3*2 == 6个唯一id.如果我添加另一个可编辑的布尔字段,我不想更改以前的唯一ID,但我希望为新的布尔字段生成新的唯一ID.
这背后的思考过程是MyModel中的参数定义函数的输入,该函数的结果MyResultModel通过unique_id和模型的名称存储在另一个Django 模型中.这背后的原因是MyModel每个都有多个变体,它们自己设置的唯一组合会定期更新,但MyResultModel中的结果集在MyModel1和MyModelN之间是相同的.理想情况下,我希望unique_id是自动生成的.换句话说,存储在其中的结果集的键MyResultModel是model_name(MyModel)和unique_id.我想要将这么多(MyModel1,... MyModelN)管理到一个(MyResultModel)关系.
class MyResultModel(models.Model):
unique_id = ...
model_name = models.CharField(max_length=200, default='', blank=False) # Points to a Django Model ex MyModel
result1 = ...
result2 = ...
Run Code Online (Sandbox Code Playgroud) 如何将自定义端点 url 传递给s3fs.S3FileSystem?
我试过了:
kwargs = {'endpoint_url':"https://s3.wasabisys.com",
'region_name':'us-east-1'}
self.client = s3fs.S3FileSystem(key=AWS_ACCESS_KEY_ID,
secret=AWS_SECRET_ACCESS_KEY,
use_ssl=True,
**kwargs)
Run Code Online (Sandbox Code Playgroud)
但是我收到错误:
File "s3fs/core.py", line 215, in connect
**self.kwargs)
TypeError: __init__() got an unexpected keyword argument 'endpoint_url'
Run Code Online (Sandbox Code Playgroud)
我还尝试过将 kwargs 作为参数传递config_kwargs并s3_additional_kwargs出现类似的错误。
我可以验证boto3是否正在使用以下内容:
client = boto3.client("s3",
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
endpoint_url="https://s3.wasabisys.com",
use_ssl=True,
region_name="us-east-1",
api_version=None,verify=None, config=None)
Run Code Online (Sandbox Code Playgroud) 是否有任何库用于顺序非线性优化,具有上限和下限,以及不等式约束,这些库是用Haskell编写的或可以从Haskell轻松调用的?
有打印功能或表达类型的命令行编译的方法Haskell程序,就像如何ghci具有:t可打印出的类型?
我有大量相当大的日常文件存储在博客存储引擎(S3,Azure datalake exc .. exc ..)中data1900-01-01.csv, data1900-01-02.csv,....,data2017-04-27.csv.我的目标是预先形成滚动的N天线性回归,但我遇到了数据加载方面的问题.我不确定如何在没有嵌套RDD's.
的情况下执行此操作.每个.csv文件的架构都是相同的.
换句话说,对于每个日期d_t,我都需要数据x_t并加入数据(x_t-1, x_t-2,... x_t-N).
如何使用PySpark加载这些日常文件的N日窗口?我能找到的所有PySpark示例似乎都是从一个非常大的文件或数据集加载的.
这是我当前代码的一个示例:
dates = [('1995-01-03', '1995-01-04', '1995-01-05'), ('1995-01-04', '1995-01-05', '1995-01-06')]
p = sc.parallelize(dates)
def test_run(date_range):
dt0 = date_range[-1] #get the latest date
s = '/daily/data{}.csv'
df0 = spark.read.csv(s.format(dt0), header=True, mode='DROPMALFORM')
file_list = [s.format(dt) for dt in date_range[:-1]] # Get a window of trailing dates
df1 = spark.read.csv(file_list, header=True, mode='DROPMALFORM')
return 1
p.filter(test_run)
p.map(test_run) #fails with same error as …Run Code Online (Sandbox Code Playgroud) 我正在使用该cachetools库,我想包装该库中的装饰器,并添加一个类 self 参数以在类级别 ee 上启用/禁用缓存MyClass(enable_cache=True)
一个示例用法如下:
class MyClass(object):
def __init__(self, enable_cache=True):
self.enable_cache = enable_cache
self.cache = cachetools.LRUCache(maxsize=10)
@cachetools.cachedmethod(operator.attrgetter('cache'))
def calc(self, n):
return 1*n
Run Code Online (Sandbox Code Playgroud)
我不确定如何将缓存保留为共享自类对象,并允许使用此库在我自己的包装装饰器中使用enable_cache 标志。