小编Eug*_*ako的帖子

如何将变量从Activity传递给Fragment,并将其传回去?

我目前正在制作一个Android应用程序,我想在活动和片段之间传递一个日期.我的活动有一个按钮,用于打开片段:DatePickerFragment.

在我的活动中,我显示了一个日期,我想用片段修改它.所以我想将日期传递给datepicker,然后将其发送回活动.

我尝试了很多解决方案,但都没有.简单的方法会传递一个参数,但这不能用碎片来完成.

android android-fragments android-activity

126
推荐指数
5
解决办法
13万
查看次数

python类实例变量和类变量

我在理解类/实例变量如何在Python中工作时遇到了问题.我不明白为什么当我尝试这个代码时,list变量似乎是一个类变量

class testClass():
    list = []
    def __init__(self):
        self.list.append('thing')

p = testClass()
print p.list

f = testClass()
print f.list
Run Code Online (Sandbox Code Playgroud)

输出:

['thing']
['thing', 'thing']
Run Code Online (Sandbox Code Playgroud)

当我这样做时,它似乎是一个实例变量

class testClass():
    def __init__(self):
        self.list = []
        self.list.append('thing')

p = testClass()
print p.list

f = testClass()
print f.list
Run Code Online (Sandbox Code Playgroud)

输出:

['thing']
['thing']
Run Code Online (Sandbox Code Playgroud)

python variables class instance

28
推荐指数
2
解决办法
3万
查看次数

Python:如何快速复制文件

它需要更长的时间至少3次与复制文件shutil.copyfile()与使用Windows资源管理器或Mac的Finder经常右击复制>右键单击粘贴.shutil.copyfile()在Python中有没有更快的替代方案?如何加快文件复制过程?(文件目标位于网络驱动器上......如果它有任何区别......).

稍后编辑:

以下是我最终得到的结果:

def copyWithSubprocess(cmd):        
    proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

win=mac=False
if sys.platform.startswith("darwin"):mac=True
elif sys.platform.startswith("win"):win=True

cmd=None
if mac: cmd=['cp', source, dest]
elif win: cmd=['xcopy', source, dest, '/K/O/X']

if cmd: copyWithSubprocess(cmd)
Run Code Online (Sandbox Code Playgroud)

python shutil file-copying

12
推荐指数
2
解决办法
2万
查看次数

Python 3.7,MySql-Python的构建轮子失败

我是python的新手,我正在尝试涉及一些MySql的django框架,并在尝试执行pip install mysqlclientcmd消息时遇到了此错误。

   Failed building wheel for mysqlclient
  Running setup.py clean for mysqlclient
Failed to build mysqlclient
Installing collected packages: mysqlclient
  Running setup.py install for mysqlclient ... error
    Complete output from command c:\users\ronanl~1\envs\py1\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\RONANL~1\\AppData\\Local\\Temp\\pip-install-pkbqy3t3\\mysqlclient\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\RONANL~1\AppData\Local\Temp\pip-record-moxwf7lu\install-record.txt --single-version-externally-managed --compile --install-headers c:\users\ronanl~1\envs\py1\include\site\python3.7\mysqlclient:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.7
    copying _mysql_exceptions.py -> build\lib.win32-3.7
    creating build\lib.win32-3.7\MySQLdb
    copying MySQLdb\__init__.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\compat.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\connections.py -> build\lib.win32-3.7\MySQLdb …
Run Code Online (Sandbox Code Playgroud)

python mysql django mysql-python python-3.x

9
推荐指数
4
解决办法
3万
查看次数

刷新的OAuth2令牌具有无效签名(Azure AD OAuth2)

我正在尝试创建一个身份验证流,其中用户的访问令牌与刷新令牌一起保存在服务器端会话中,当令牌过期时,如果会话仍然有效,则会续订.但是,在使用与原始令牌相同的方法验证时,刷新后从Azure AD返回的令牌具有无效签名.

这是一个可以说明问题的可运行的要点:https://gist.github.com/tlycken/fdaf47dc31e03de43a1a07fbbea2ab91

我正在做的基本上是这样的:

  1. 当用户请求页面时,检查会话.如果不存在,则重定向到/auth重定向到Azure AD,当我返回时,我有一个有效的令牌,我存储在会话中.

  2. 使用以下方式验证会话中的令牌jwks-rsa.(这通常可以正常工作,所以我故意在令牌字符串中添加一些东西,使签名在测试代码中无效.)

  3. 如果令牌验证失败,并且会话上有刷新令牌,请尝试使用该刷新令牌获取新令牌.此请求通常返回状态200 OK和一组新的访问/刷新令牌.

  4. 使用与验证旧访问令牌相同的代码验证新访问令牌(现在没有乱码令牌).这应该工作,IIUC,但它失败了错误invalid signature.

为什么我新刷新的令牌未通过验证?

更新: 我能够创建一个更简单的流程来重现这个; 要点已经更新.它现在执行以下操作(沿途打印这些消息):

no session, redirecting to /auth
successful auth callback, redirecting to /
verifying old token
decoded user id e7f02a6e-510c-430d-905c-f8a0e63206c2
refreshing
fetching /me with renewed token
got user id e7f02a6e-510c-430d-905c-f8a0e63206c2
verifying new token
token verification failed: invalid signature
Run Code Online (Sandbox Code Playgroud)

除了自己验证令牌之外,我现在还向Azure发送请求,希望这样的请求会因无效令牌而失败.但它过去了!

oauth oauth-2.0 azure-active-directory

8
推荐指数
1
解决办法
801
查看次数

使用Python 3.6变量注释提供向后兼容性

我正在尝试创建一个python包(目前不在任何地方),我想使用3.6 python变量注释,即

foo: int = 5
Run Code Online (Sandbox Code Playgroud)

同时仍然提供对Python 3.5的支持.

有没有办法在Python 3.5中提供这些样式的变量注释,或者通过

from __future__ import variable_annotations
Run Code Online (Sandbox Code Playgroud)

或类似的.我知道可以使用注释类型注释,但我希望能够使用这种风格.

python backwards-compatibility typechecking python-3.6

7
推荐指数
1
解决办法
914
查看次数

如何从属性文件设置 Kafka 参数?

我目前正在做的事情如下:

val topic = "mytopic"
val zkhosts = "localhost"
val zkports = "2181"
Run Code Online (Sandbox Code Playgroud)

在我的代码中设置它然后将它发送到 kafkastream 函数可以工作,但我想从.properties文件中读取它。有没有可能的解决方案?

apache-kafka apache-spark spark-streaming

6
推荐指数
1
解决办法
2548
查看次数

查找字符串中的最短单词

我是编码的新手,我正在研究一个问题,要求在一个句子中找到最短的单词.我很困惑之间的区别是什么:

def find_short(s):
    for x in s.split():
        return min(len(x)) 
Run Code Online (Sandbox Code Playgroud)

def find_short(s):
    return min(len(x) for x in s.split())
Run Code Online (Sandbox Code Playgroud)

是的,因为前者给了我一个错误,后者似乎工作正常.它们几乎不是一回事吗?

python

5
推荐指数
1
解决办法
453
查看次数

Django:如何以方便的方式将http标头添加到响应中?

我知道我们可以使用HttpResponseInstance['headername'] = 'headervalue'向http响应添加标头.但是通过这种方式,我必须重写我正在使用的所有通用视图,这使得更多的工作.

有没有一种方便的方法来向响应中添加标题,例如回复回调或url装饰器?

python django http web

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