小编Tim*_*Tim的帖子

如何将字符串拆分为标记?

如果我有一个字符串

'x+13.5*10x-4e1'
Run Code Online (Sandbox Code Playgroud)

如何将其拆分为以下令牌列表?

['x', '+', '13', '.', '5', '*', '10', 'x', '-', '4', 'e', '1']
Run Code Online (Sandbox Code Playgroud)

目前我正在使用shlex模块:

str = 'x+13.5*10x-4e1'
lexer = shlex.shlex(str)
tokenList = []
for token in lexer:
    tokenList.append(str(token))
return tokenList
Run Code Online (Sandbox Code Playgroud)

但这回归:

['x', '+', '13', '.', '5', '*', '10x', '-', '4e1']
Run Code Online (Sandbox Code Playgroud)

所以我试图从数字中分割字母.我正在考虑使用包含字母和数字的字符串然后以某种方式拆分它们,但不确定如何执行此操作或如何将它们全部添加回列表中以及之后的其他字符串.令牌保持有序是很重要的,我不能拥有嵌套列表.

在理想的世界中,e和E不会以相同的方式被识别为字母,因此

'-4e1'
Run Code Online (Sandbox Code Playgroud)

会成为

['-', '4e1']
Run Code Online (Sandbox Code Playgroud)

'-4x1'
Run Code Online (Sandbox Code Playgroud)

会成为

['-', '4', 'x', '1']
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

python equation token tokenize shlex

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

对于32位或64位的构建感到困惑

我有一个带有几个项目的VS2013解决方案(C#WPF应用程序和类库).每个项目的"平台目标"都设置为"任何CPU".我的印象是,最终的EXE将在64位PC上运行为64位应用程序,在32位PC上运行32位应用程序.它是否正确?我的开发PC是64位,但是当我运行应用程序(独立或通过VS调试)时,它在任务管理器中显示为"foo.exe*32".这里发生了什么?

我们有一个拥有32位机器的初级开发人员.他还能打开解决方案并在VS中运行吗?

此外,某些项目引用了第三方DLL.供应商提供32位和64位版本 - 项目应引用哪一个?如果我引用32位DLL将阻止应用程序作为64位应用程序运行?如果我引用64位版本,这会给32位开发人员带来问题吗?那么最终用户呢 - 我的安装程序是否需要检查操作系统版本并复制相应的DLL?

最后,通过NuGet引用的DLL怎么样?NuGet是否安装了32位或64位版本的DLL?如何处理32位或64位最终用户安装?

c# visual-studio

10
推荐指数
1
解决办法
2265
查看次数

蓝色Holo颜色在设备上显示为绿色

我正面临一个奇怪的问题,我正在设置TextView的背景@android:color/holo_blue_bright,期望它是亮蓝色,只是发现它在设备上是某种亮绿色.

XML

<TextView
    android:id="@+id/tv_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:background="@drawable/chat_bubble"
    android:maxWidth="300dp"
    android:padding="5dp"
    android:singleLine="false"
    android:textSize="16sp" />
Run Code Online (Sandbox Code Playgroud)

@绘制/ chat_bubble

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/chat_bubble_background" />

    <corners android:radius="5dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)

colors.xml(只是相关的行)

<color name="chat_bubble_background">@android:color/holo_blue_bright</color>
Run Code Online (Sandbox Code Playgroud)

以上设置产生了这个.每条消息都是TextView

在此输入图像描述

我想也许是因为我的设备显示不同的颜色或其他东西,所以我尝试了更多的全息颜色,但它们看起来都应该是应该的

@android:color/holo_green_light给出

在此输入图像描述

@android:color/holo_green_dark给出

在此输入图像描述

甚至@android:color/holo_orange_light@android:color/holo_purple看起来还可以

在此输入图像描述

在此输入图像描述

除了蓝色的:

@android:color/holo_blue_light给出

在此输入图像描述

@android:color/holo_blue_dark给出

在此输入图像描述

所有蓝色看起来都相似,但不是完全相同的绿色.也没有绿色作为同色调holo_green_lightholo_green_dark.

我以为这是什么?一切看起来都不错,但不是蓝色的?然后去检查HEX holo_blue_bright是什么,我在这里找到它(它的#FF00DDFF).
所以我试着直接使用那个HEX值,而不是使用预定义的全息颜色.

在此输入图像描述

Android studio(v1.2)告诉我它们与我的预期完全一样.

但是,当我改变的时候

<solid android:color="@color/chat_bubble_background" />
Run Code Online (Sandbox Code Playgroud)

<solid android:color="@color/chat_bubble_background2" />
Run Code Online (Sandbox Code Playgroud)

使用#FF00DDFF …

android colors

10
推荐指数
1
解决办法
665
查看次数

google oauth令牌的链接是什么?

我尝试与谷歌一起使用OAuth.我收到一个使用POST的代码

https://accounts.google.com/o/oauth2/v2/auth
Run Code Online (Sandbox Code Playgroud)

然后我尝试通过POST获取访问令牌

https://www.googleapis.com/oauth2/v4/token 
Run Code Online (Sandbox Code Playgroud)

但这会给我一个"未找到"的错误.这个URI错了吗?感谢你的支持...

oauth

10
推荐指数
2
解决办法
9151
查看次数

如何为Visual Studio 2015安装Python工具?

我正在尝试为visual studio 2015安装python工具,它应该是一个简单的任务只是继续新项目并选择python和visual studio会为你下载它,但是有一些错误或者它是什么我不喜欢明白.我正在做的如下:第01步: 我去了这里.

步骤02:出现一个框,寻求安装许可.(据说添加对python项目的支持,支持,调试等)当我点击安装按钮时,步骤03窗口出现.

步骤03:出现 此错误,没有任何反应.

我该怎么办?是的我需要安装cpython.

python ptvs visual-studio-2015

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

如何避免为请求权限编写重复的样板代码?

我正在更新我的应用程序以兼容Android 6.权限模型在理论上并不复杂,但现在我正在实现它,我发现自己在每个需要权限的活动中编写了相同的丑陋样板代码.

对于我需要的每一个许可,都有一个

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.PERMISSION) !=
                PackageManager.PERMISSION_GRANTED) {
} else {
}
Run Code Online (Sandbox Code Playgroud)

然后在onRequestPermissionsResult我必须检查/过滤每个请求的结果并将其转换为我的活动理解的内容.

我现在正在更新我的第二个活动,并且权限代码与第一个类似,它几乎看起来像是复制粘贴的.线条很长,代码很相似,看起来很丑陋.

我不想使用第三方解决方案,我尝试了一些,但我更愿意完全控制代码.例如,某些库不支持我在项目中使用的Java 8.

我可以做些什么来避免在我的所有活动中出现一堆重复的代码?

android android-permissions android-6.0-marshmallow runtime-permissions

9
推荐指数
1
解决办法
907
查看次数

如何在Flask中重定向到外部域?

在我的烧瓶应用程序中完成操作后,我需要重定向回外部URL.代码看起来像这样

if form.next.data is not None:
    return redirect(form.next.data)
Run Code Online (Sandbox Code Playgroud)

哪里form.next.data可以是外部域名的绝对网址,例如"www.google.com".但是,在将下一个值作为外部URL传递时,此重定向将重定向到http://mysitename/www.google.com404并失败.

如何指定重定向到外部域并阻止Flask将其附加到我的域根?

python flask

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

运行Python参数化测试方法时出错

IDE: PyCharm Community Edition 3.1.1
Python: 2.7.6

我使用DDT进行测试参数化http://ddt.readthedocs.org/en/latest/example.html

我想从PyCharm中的测试类中选择并运行参数化测试方法- >参见示例:

from unittest import TestCase
from ddt import ddt, data


@ddt
class Test_parameterized(TestCase):
    def test_print_value(self):
        print 10
        self.assertIsNotNone(10)

    @data(10, 20, 30, 40)
    def test_print_value_parametrized(self, value):
        print value
        self.assertIsNotNone(value)
Run Code Online (Sandbox Code Playgroud)

当我导航到test_print_value代码中的第一个测试方法并点击ctrl+ Shift+ F10(或使用Run Unittest test_print...上下文菜单中的选项)时,执行测试.

当我尝试使用参数化测试时,我得到错误:

Test framework quit unexpectedly
Run Code Online (Sandbox Code Playgroud)

输出包含:

/usr/bin/python2 /home/s/App/pycharm-community-3.1.1/helpers/pycharm/utrunner.py
/home/s/Documents/Py/first/fib/test_parametrized.py::Test_parameterized::test_print_value_parametrized true

Testing started at 10:35 AM ...

Traceback (most recent call last):
  File "/home/s/App/pycharm-community-3.1.1/helpers/pycharm/utrunner.py", line 148, …
Run Code Online (Sandbox Code Playgroud)

python unit-testing parameterized pycharm python-2.7

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

Python anaconda conda问题:由于进程正在运行,因此无法更新anaconda包

我有一个问题,用conda更新anaconda的包.当我进行conda更新时 - 所有问题都告诉我:

Error: Unable to remove files for package: cryptography
Please close all processes running code from cryptography and try again.
Run Code Online (Sandbox Code Playgroud)

但是,没有进程正在运行,我只打开了cmd窗口.当我想要更新dateutile时也是如此.这就像conda使用一些包然后我无法更新它们?有人知道关闭或删除这些包以重新安装它们的方法吗?

有关信息:

C:\Anaconda3\Scripts>conda info -a
Current conda install:
platform : win-64
conda version : 3.11.0
conda-build version : 1.11.0
python version : 3.4.3.final.0
requests version : 2.6.2
root environment : C:\Anaconda3 (writable)
default environment : C:\Anaconda3
envs directories : C:\Anaconda3\envs
package cache : C:\Anaconda3\pkgs
channel URLs : https://conda.binstar.org/juanlu001/win-64/
https://conda.binstar.org/juanlu001/noarch/
https://repo.continuum.io/pkgs/free/win-64/
https://repo.continuum.io/pkgs/free/noarch/
https://repo.continuum.io/pkgs/pro/win-64/
https://repo.continuum.io/pkgs/pro/noarch/
config file : C:\Users\maxime.condarc
is …
Run Code Online (Sandbox Code Playgroud)

python anaconda conda

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

Git陷入写作对象的困境

我正在努力git push --all,它只是挂在写对象上

10.0-final-project git:(master) ? git push --all
Counting objects: 134, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (129/129), done.
Writing objects:  32% (44/134), 321.56 MiB | 231.00 KiB/s
Run Code Online (Sandbox Code Playgroud)

321.56 MiB和231.00 KiB/s继续上涨.

我试过用git config --global http.postBuffergit config --global sendpack.sideband false

什么都行不通.解决此问题的方法是什么?

git github git-push

8
推荐指数
2
解决办法
9965
查看次数