可以说我有一个字符串列表,
string_lst = ['fun', 'dum', 'sun', 'gum']
Run Code Online (Sandbox Code Playgroud)
我想制作一个正则表达式,在其中的某个点,我可以匹配该列表中的任何字符串,在一个组中,例如:
import re
template = re.compile(r".*(elem for elem in string_lst).*")
template.match("I love to have fun.")
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?或者,是否必须制作多个正则表达式并将它们全部分别匹配到字符串?
我注意到Rust没有内置库来处理HTTP,它只有一个net
处理原始IP和TCP协议的模块.
我需要获取一个&str
URL,发出一个HTTP GET请求,如果成功返回一个String
或&str
那个对应于HTML或JSON或其他字符串形式的响应.
它看起来像:
use somelib::http;
let response = http::get(&"http://stackoverflow.com");
match response {
Some(suc) => suc,
None => panic!
}
Run Code Online (Sandbox Code Playgroud) 好的,所以我是新手,想知道我会用什么对象或工具来做这件事.我想创建一个表单,用户输入一些文本,单击提交按钮,然后他们提交的文本绑定为python字符串,并在其上运行一个函数,然后将该文本发布回Web他们正在查看的页面,其中包含该功能的返回值.这是一个例子:
HTML格式:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action = "/" method="get">
<input type="text" name="mail" size="25">
<input type="submit" value="Submit">
</form>
<textarea cols="50" rows="4" name="result"></textarea>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
那么这就是我认为应该是url函数的样子
@app.route('/', methods=['GET', 'POST'])
def form():
if request.method == 'GET':
input_text = request.data #step to bind form text to python string
new_text = textfunction(input_text) #running the function on the retrieved test.
return (new_text) # no idea if this is write, but returns text after modification.
Run Code Online (Sandbox Code Playgroud)
设置它的最佳方法是什么?将变量作为输入html的值是否正确?需要一些帮助.
在C++
,每次new []
使用或delete []
使用时,每个人分配或释放内存的次数是多少?我的问题更具体地说是在具有各自构造函数和析构函数的类上使用它们.
如,采取以下课程:
#include <iostream>
class Cell
{
public:
Cell() : _value(2)
{
std::cout << "Cell being made!\n";
}
~Cell()
{
std::cout << "Cell being freed!\n";
}
const int& getVal() const
{
return _value;
}
private:
int _value;
};
Run Code Online (Sandbox Code Playgroud)
现在,假设需要一个类类型的数组,并new[]
使用,如下所示
Cell* cells = new Cell[5];
Run Code Online (Sandbox Code Playgroud)
当在可执行文件或程序中运行时,我也看到以下打印到stdout:
Cell being made!
Cell being made!
Cell being made!
Cell being made!
Cell being made!
Run Code Online (Sandbox Code Playgroud)
随后当指针delete[]
被调用时cells
,我看到:
Cell being freed!
Cell being …
Run Code Online (Sandbox Code Playgroud) 那么对于 python 包,如何从 pip 安装的包启用命令行参数?下面是一个名为 mrbob 的包的示例:
$ pip install mrbob
$ mrbob DoSomethingFunction
Run Code Online (Sandbox Code Playgroud)
如何为 python 包启用命令行选项和新的 shell 命令?
因此,我有一个简单的swift程序,一个文件main.swift
程序,看起来像这样。
import Foundation
var past = [String]()
while true {
let input = readLine()!
if input == "close" {
break
}
else {
past.append(input)
print(past)
}
}
Run Code Online (Sandbox Code Playgroud)
我想编写一个python脚本,可以将输入字符串发送到该程序,然后返回该输出,并使其随着时间的推移而运行。我不能使用命令行参数,因为我需要保持swift可执行文件随着时间的推移运行。
我已经尝试过了os.system()
,subprocess.call()
但是它总是卡住了,因为它们都不向swift程序提供输入,但是它们确实启动了可执行文件。我的外壳基本上卡住了,等待我的输入,而没有从python程序中获取输入。
这是我尝试的最后一个python脚本:
import subprocess
subprocess.call("./Recommender", shell=True)
f = subprocess.call("foo", shell=True)
subprocess.call("close", shell=True)
print(f)
Run Code Online (Sandbox Code Playgroud)
有关如何正确执行此操作的任何想法?
编辑:
所以现在我有了这个解决方案
import subprocess
print(True)
channel = subprocess.Popen("./Recommender", shell = False, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(True)
channel.stdin.write(("foo").encode())
channel.stdin.flush()
print(True)
f = channel.stdout.readline()
channel.terminate()
print(f)
print(True)
Run Code Online (Sandbox Code Playgroud)
但是,它停止了从stdout
任何想法的界线去解决此问题?
所以,我希望能够在我的C++程序中使用中文字符,并且我需要使用某种类型来保存超出ASCII范围的字符.
但是,我尝试运行以下代码,它工作正常.
#include <iostream>
int main() {
char snet[4];
snet[0] = '?';
snet[1] = '?';
snet[2] = '?';
std::cout << snet << std::endl;
int conv = static_cast<int>(snet[0]);
std::cout << conv << std::endl; // -96
}
Run Code Online (Sandbox Code Playgroud)
这是没有意义的,因为sizeof(char)
在C++中,对于g ++编译器,求值为1,但中文字符不能用单个字节表示.
为什么这里的汉字被允许被安置在一个char
类型?
在C++中应该使用什么类型来容纳中文字符或非ASCII字符?
我已经找过了,但没有找到类似的东西。在 Javascript 中,我想知道是否有一种方法可以在循环中间从文本区域获取用户输入,例如使用 python 中的 input() 函数。这是一个例子:
def thing():
color = input("Pick Red, Yellow or Blue")
finished = False
previous = []
while finished == False:
if previous == []:
guess = "red"
response = input("Is your color red?")
previous.append((guess, response))
elif len(previous) == 1:
response = input("is your color blue?")
if response == "yes":
finished = True
Run Code Online (Sandbox Code Playgroud)
这个例子并不完全是我想要做的,但基本上,我想要一种方法,让用户被问到一些事情,并让他们在文本区域(HTML)中输入答案,然后按下一个按钮,这会继续Javascript while 循环处理新接收到的输入,并提出一些其他问题,依此类推,直到达到某个条件来停止循环。
这可能吗?JS 中是否有类似的东西?
所以,我知道stdint.h
标题中的类型提供了标准化的宽度整数类型,但是我想知道用什么类型或方法来保证double
跨平台的一个或其他浮点类型的大小?具体来说,这将处理包装数据void*
#include <stdio.h>
#include <stdlib.h>
void write_double(void* buf, double num)
{
*(double*)buf = num;
}
double read_double(void* buf)
{
return *(double*)buf;
}
int main(void) {
void* buffer = malloc(sizeof(double));
write_double(buffer, 55);
printf("The double is %f\n", read_double(buffer));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在上面的程序中说,如果我将其void*
写入文件或者如果它在另一个系统上使用,是否会有一些标准方法来保证浮点类型的大小或双倍?
因此,我正在尝试根据二进制表示形式确定utf-8字符的宽度(以字节为单位)。然后,计算utf8字符串中的字符数。下面是我的代码。
#include <stdlib.h>
#include <stdio.h>
static const char* test1 = "?f";
static const char* test2 = "????????";
unsigned utf8_char_size(unsigned char val) {
if (val < 128) {
return 1;
} else if (val < 224) {
return 2;
} else if (val < 240) {
return 3;
} else {
return 4;
}
}
unsigned utf8_count_chars(const unsigned char* data)
{
unsigned total = 0;
while(*data != 0) {
unsigned char_width = utf8_char_size(*data);
total++;
data += char_width;
}
return total;
} …
Run Code Online (Sandbox Code Playgroud)