小编Mar*_*lík的帖子

Python - 如何发送utf-8电子邮件?

如何发送utf8电子邮件?

import sys
import smtplib
import email
import re

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def sendmail(firm, fromEmail, to, template, subject, date):
    with open(template, encoding="utf-8") as template_file:
        message = template_file.read()

    message = re.sub(r"{{\s*firm\s*}}", firm, message)
    message = re.sub(r"{{\s*date\s*}}", date, message)
    message = re.sub(r"{{\s*from\s*}}", fromEmail, message)
    message = re.sub(r"{{\s*to\s*}}", to, message)
    message = re.sub(r"{{\s*subject\s*}}", subject, message)

    msg = MIMEMultipart("alternative")
    msg.set_charset("utf-8")

    msg["Subject"] = subject
    msg["From"] = fromEmail
    msg["To"] = to

    #Read from template
    html = message[message.find("html:") + len("html:"):message.find("text:")].strip()
    text = …
Run Code Online (Sandbox Code Playgroud)

python email smtp utf-8

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

在vim中浏览CamelCase单词

如何在vim中的第一个大写字符之前或之后跳转?

如果我想从(例如)camelCase中删除或选择第一个单词.如果我是m-character,我可以做FcdtC,但有更普遍的方法吗?

vim

15
推荐指数
2
解决办法
4097
查看次数

在哪里为谷歌播放放置512x512启动器图标

我使用了Launcher Icon Generator来生成一个简单的图标.它还会生成web_hi_res_512.png,据我所知,这是在Google Play上发布应用所需的启动器图标大小.但这个图标应该放在哪里?

android android-assets

12
推荐指数
1
解决办法
6213
查看次数

如何将前导空格转换为制表符?

许多人使用空格而不是标签.我用它们两个.行的开头和第一个非空白字符的空格.启动新文档没有问题,如果我需要修改一个更好的适应使用格式.有时我仍然需要修复空间问题.

根据搜索和替换我可以做到:%s/spaces_for_tab/tab/g.它很简单,适用于很多情况.无论如何,我想只在行的开头重构空格.

vim

5
推荐指数
2
解决办法
4447
查看次数

绘图 GL_POINTS

我正在视图中间绘制(我想绘制)一个点,并且我在 AVD(Nexus 4、Android 4.4.2 - API 级别 19、Intel Atom (x86)、RAM 768、Use Host)上得到了想要的结果GPU),但我在真实设备上绘制时遇到问题 [Nexus 5、Nexus 7(2012 版)]。在真实设备上只有空白(清晰的颜色)视图,中间没有点。

这是一个完整的代码。这相对简单。注意我还尝试通过 glVertexAttribPointer (glEnableVertexAttribArray) 推送点数据(位置)。

你能帮我解决这个问题吗?

package com.example.point.app;

import android.app.Activity;
import android.content.Context;
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.os.Bundle;

import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;


public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new PointView(this));
    }

    class PointView extends GLSurfaceView {

        public PointView(Context context) {
            super(context);
            setEGLContextClientVersion(2);
            setEGLConfigChooser(8, 8, 8, 8, 16, 0);
            setRenderer(new PointRenderer());
        }

        class PointRenderer implements Renderer {

            private void …
Run Code Online (Sandbox Code Playgroud)

android opengl-es opengl-es-2.0

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

C#移位运算符过载

有没有理由第二个操作数的类型必须是int?

...
// I would like to do this
public static StringList operator<<(StringList list, string s) {
   list.Add(s);
   return list;
}
// but only int is supported...
...
Run Code Online (Sandbox Code Playgroud)

编辑:只是肯定...我可以重载operator*for get(例如)字符串列表

class MyString {
   string val;
   public MyString(string s) {
      val = s;
   }
   public static List<string> operator*(MyString s, int count) {
      List<string> list = new List<string>();
      while (count-- > 0) {
         list.Add(s.val);
      }
      return list;
   }
}

...
foreach (var s in new MyString("value") * 3) {
   s.print(); // object …
Run Code Online (Sandbox Code Playgroud)

operators c#-4.0

3
推荐指数
1
解决办法
1441
查看次数

cgo - 如何将 go 字符串转换为 LPCWSTR

我想使用一些 windows api,但我不知道如何开始。有没有相关的教程?

无论如何,我有一个简单的代码。你能帮我解决这个问题吗?

package mypackage
/*
#cgo LDFLAGS: -luser32
#include <windows.h>
*/
import "C"
import "unsafe"

func MessageBox(m string) {
      cm := C.CString(s)
      defer C.free(unsafe.Pointer(cm))
      C.MessageBoxA(C.HWND(nil), (*C.CHAR)(cm), C.LPCSTR(nil), 0) // It display a message.
}
Run Code Online (Sandbox Code Playgroud)

编辑:我可以处理 char* 但仍然不知道 wchar_t* 是什么。

import "syscall"

func MessageBoxU(m string) {
        C.MessageBoxW(C.HWND(nil), (*C.WCHAR)(unsafe.Pointer(syscall.StringToUTF16Ptr(m))), C.LPCWSTR(nil), 0)
}
Run Code Online (Sandbox Code Playgroud)

如果这不是成语,请告诉我。

windows go cgo

3
推荐指数
1
解决办法
2325
查看次数

Python - 迭代list.append的结果

为什么我不能这样做:

files = [file for file in ['default.txt'].append(sys.argv[1:]) if os.path.exists(file)]
Run Code Online (Sandbox Code Playgroud)

python list

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

元素转换

聚合物中有类似angularjs指令的transclude属性吗?什么允许我将一些元素包含在模板中的特定位置?

我想实现以下内容:

<my-header title="My title">
    <my-header-item name="Item 1"></my-header-item>
    <my-header-item name="Item 2"></my-header-item>
</my-header>
Run Code Online (Sandbox Code Playgroud)

可能表达的意思是:

<h1>My title</h1> <!-- "My title" given by my-header's title attribute -->
<ul>
    <li>Item 1 <!-- given by my-header-item -->
    <li>Item 2
</ul>
Run Code Online (Sandbox Code Playgroud)

我不确定这是否是聚合物的任务,或者这是否是使用聚合物的典型方法.我问,因为我开始喜欢聚合物,我想保持惯用思维.

angularjs shadow-dom transclusion polymer

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

明确表示该类实现了接口

在Java和类似语言中,必须明确表示类实现接口的真正原因是什么?

想象一下隐式实现:

interface Flyer { void fly(); }

public class Duck { public void fly() {...} }

public class Plane { public void fly() {...} }

public class Hoe { void hangAround() {...} }

void startFlying(Flyer flyer) {...}

void race() {
    ...
    startFlying(duck);  // OK
    startFlying(plane); // OK
    startFlying(hoe);   // Compilation error.
}
Run Code Online (Sandbox Code Playgroud)

编译器知道方法的签名,返回类型(当然还有修饰符).在这一点上,似乎很清楚,没有必要明确指定Duck和Plane实现Flyer.

我会说可以从Java中删除"实现XYZ"而不用担心.

没有区别,请在编译时检查,这样就可以了.

另一方面:@JBNizet提到了具有相同签名和返回类型的方法的不同含义.

我会用他的例子:

interface Runner { void run(); }

public class Guy { public void run(); }
public class Gal { public void run(); } …
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
172
查看次数