现在,如果我有一个电报机器人,我如何将其上传到托管?我以后可以编辑机器人代码吗?
James Bond
Asked:
2024-11-16 11:02:55 +0000 UTC
LINQ 中的标准做法是在链中编写方法,一个接一个,每个方法独占一行:
var nodes = Enumerable
.Range(0, nodesCount)
.Select(z => new Node(z))
.ToArray();
除了 LINQ 之外,还使用类似的方法来链接对常规方法的调用,以简化阅读和理解并减少行长度。然而,在我看来,使用它们时,并不是所有事情都像使用 LINQ 那样逻辑和直观。
例如,请告诉我如何将以下链分解为 3-4 行:
return CreateFromCsFiles(OpenFileHelper.OpenCodeFile(File.ReadAllText(pathToCsprojFile)).ToArray());
不管我怎么尝试,结果仍然是粥。提前致谢!
Dato Dato
Asked:
2024-11-16 08:01:38 +0000 UTC
对于第一个文件,我的字典显示如下:
[n1]
[x1,y1]
{n1:[x1,y1]}
对于第二个文件,我生成了必要的列表:
[name1,name2,name3]
[datax1,datay1,datalac1,datax2,datay2,datalac2,datax3,datay3,datalac3]
如何以这种形式将数据添加到字典中:
{n1:[x1,y1], name1:[datax1,datay1,datalac1], name2:[datax2,datay2,datalac2], name3:[datax3,datay3,datalac3]}
这是整个代码:
import re
#1 перечислить список команд, которые может выполнить программа:
repeat="y"
listcmd=['Заполненние новых БС Nokia (1)', 'Заполненние довесов БС Nokia (2)', 'Заполненние довесов БС Ericsson (3)']
listname=[]
listxy=[]
listallname=[]
listall=[]
#7 Создать словарь и собрать данные: key - ИМЯ БС, value - Координаты, TAC, BSC:
datasites = dict()
#2 Создать пустой файл, который будет очищать при первом запуске и дублировать в дальнейшем информацию из консоли программы:
with open("output.txt", "w") as outfile:
outfile.write("")
while repeat == "y":
print("Выполните действия, которые необходимо выполнить в CES:")
print(listcmd)
choicecmd = input()
#print(choicecmd)
if choicecmd == '1':
print("Добавьте файлы формата kml в папке где находится программа для дальнейшей обработки данных.")
#3 Вывести всю информацию одной БС из файла kml:
with open("Site_IR000478_1.kml","r", encoding="utf8") as rdbfile:
file = rdbfile.read()
#print(file)
#4 В двух файлах название БС, координаты, LAC и BSC отображаются в одном атрибуте Placemark. Нужно вывести всю информацию внутри атрибута Placemark:
Placemark = re.findall(r'<Placemark>(.*?)</Placemark>', file, re.DOTALL)
for i in Placemark:
#print(i)
#5 Написать код, который выводит Имя БС в каждом фрагменте Placemark, выводит его в нужном формате и добавить в пустой список:
listbs = re.findall(r'<name>(.*?)</name>', i, re.DOTALL)
#print(listbs)
for bs in listbs:
if '/' in bs:
bs = bs.split('/')[0]
i1 = 2
i2 = 3
bs = bs[:i1] + bs[i2+1:]
listname.append(bs)
#print(bs)
with open("output.txt", "a") as outfile:
outfile.write(bs + "\n")
else:
#print("Имя базой станции другого формата!")
with open("output.txt", "a") as outfile:
outfile.write("Имя базой станции другого формата!\n")
#6 Написать код, который выводит координаты в каждом фрагменте Placemark и выводит его в нужном формате и добавить в пустой список:
listcoords = re.findall(r'<coordinates>(.*?)</coordinates>', i, re.DOTALL)
#print(listcoords)
for coords in listcoords:
#print(coords)
longitude = coords.split(',')[0]
latitude = coords.split(',')[1]
#print(longitude + " " + latitude + "\n")
with open("output.txt", "a") as outfile:
outfile.write(longitude + " " + latitude + "\n")
listxy.append(longitude)
listxy.append(latitude)
#print(listname)
#print(listxy)
#7
#datasites["test1"]="test2"
datasites[listname[0]]=listxy
print(datasites)
#8 Собрать данные для второго файла, в котором есть Bsc и Lac:
with open("IR.kml","r", encoding="utf8") as rdbfile:
file = rdbfile.read()
#print(file)
Placemark = re.findall(r'<Placemark>(.*?)</Placemark>', file, re.DOTALL)
for i in Placemark:
#print(i)
#if '<longitude>' and 'LAC' in i:
if ('<longitude>' in i) and ('LAC' in i) and ('BSC: ' in i):
listbs = re.findall(r'<name>(.*?)</name>', i, re.DOTALL)
#print(listbs)
for bs in listbs:
if (len(bs)==6) == True:
#print(bs)
listallname.append(bs)
with open("output.txt", "a") as outfile:
outfile.write(bs + "\n")
else:
#print("Имя базой станции другого формата!")
with open("output.txt", "a") as outfile:
outfile.write("Имя базой станции другого формата!\n")
listcoords = re.findall(r'<longitude>(.*?)</latitude>', i, re.DOTALL)
#print(listcoords)
for coords in listcoords:
#print(coords)
coordinates = coords.split('</longitude>\n <latitude>')
#print(coordinates)
longitude = coordinates[0]
latitude = coordinates[1]
#print(longitude + " " + latitude + "\n")
with open("output.txt", "a") as outfile:
outfile.write(longitude + " " + latitude + "\n")
listall.append(longitude)
listall.append(latitude)
listbsctac = re.findall(r'<description>BSC: (.*?)</description>', i, re.DOTALL)
#print(listbsctac)
for data in listbsctac:
#print(data)
datas = data.split(' LAC: ')
#print(datas)
bsc = datas[0]
lac = datas[1]
#print(bsc + " " + lac + "\n")
with open("output.txt", "a") as outfile:
outfile.write(bsc + " " + lac + "\n")
listall.append(bsc)
listall.append(lac)
#9 Добавить в словарь данные загруженные из второго файла:
for o in listallname:
for p in listall:
datasites[o]=p
else:
#print("Координаты отсутсвуют!")
#with open("output.txt", "a") as outfile:
# outfile.write("Координаты отсутсвуют!\n")
break
#print(listallname)
#print(listall)
print(datasites)
elif choicecmd == '2':
print("Ты выбрал Заполненние довесов БС Nokia")
with open("output.txt", "a") as outfile:
outfile.write("Ты выбрал Заполненние довесов БС Nokia"+"\n")
elif choicecmd == '3':
print("Ты выбрал Заполненние довесов БС Ericsson")
with open("output.txt", "a") as outfile:
outfile.write("Ты выбрал Заполненние довесов БС Ericsson"+"\n")
repeat = input("Do you want to continue? (y/n): ")
if repeat == "n":
break
在第9点中我尝试实现这一点。但它不输出需要的内容。将来,我需要将密钥中的数据与后续密钥进行比较。即,将 n1 坐标 x1,y1 与 name1 - datax1,datay1 进行比较。
David Meyster
Asked:
2024-11-16 06:30:08 +0000 UTC
告诉我,是否可以创建一个自动插入标准标头的函数,例如,如果我在 /api 处处理
http.HandleFunc("/api/count_users", countUsersHandler)
http.HandleFunc("/api/count_payments", countPaymentsHandler)
http.HandleFunc("/api/average_payments", averagePaymentHandler)
那么在所有情况下,您都需要在每个函数中编写标题:
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
w.Header().Set("Content-Type", "application/json")
并且在所有情况下您都需要转换为 json:
json.NewEncoder(w).Encode(response)
是否可以创建一个函数(例如 API),并简单地将所有这些自动添加到对 API 的每个请求中?像这样:
func countPaymentsHandler(w http.ResponseWriter, r *http.Request) {
var count int
err := db.QueryRow("SELECT COUNT(*) FROM payments WHERE `status` = '1'").Scan(&count)
if err != nil {
http.Error(w, "Ошибка при выполнении запроса", http.StatusInternalServerError)
return
}
response := map[string]int{"count": count}
return response
}
func API(pattern string, handler func()) {
http.HandleFunc("/api/"+pattern, func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
response := handler
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(response)
})
}
func main() {
initDB()
defer db.Close()
API("count_payments", countPaymentsHandler)
fmt.Println("Сервер запущен на http://localhost:8080")
log.Fatal(http.ListenAndServe(":8080", nil))
}
Siarhei789654
Asked:
2024-11-16 01:07:09 +0000 UTC
有一个日期选择器
<input class="form-control date-text" type="date" id="dateFrom" onchange="displayDateRangeParts()" min="<?php echo date('Y-m-d'); ?>">
其中使用js
function displayDateRangeParts() {
const dateFrom = document.getElementById("dateFrom").value;
if (dateFrom) {
const [fromYear, fromMonth, fromDay] = dateFrom.split("-");
document.getElementById("fromDay").innerText = fromDay;
document.getElementById("fromMonth").innerText = fromMonth;
document.getElementById("fromYear").innerText = fromYear;
}
}
插入标签
<span id="fromDay" class="fromDay"></span>
<span id="fromMonth" class="fromMonth"></span>
<span id="fromYear" class="fromYear"></span>
值分别为日、月、年
问题?
如何使脚本显示其名称而不是月份的序列号,例如,而不是 1 - 一月,而不是 2 - 二月等。
谢谢。