社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  blhsing  »  全部回复
回复总数  35
2 年前
回复了 blhsing 创建的主题 » 如何将代码脚本输出为python异常消息?

要将标准错误重定向到变量中,一种简单的方法是分配 sys.stderr io.StringIO 对象,然后使用对象的 getvalue 方法:

import sys
from io import StringIO

error_stream = StringIO()
sys.stderr = error_stream
wmic = wmi.WmiClientWrapper(username="Administrator",password="Abc",host="192.168.1.2",)
output = wmic.query("SELECT * FROM Win32_Processor")
error = error_stream.getvalue()
print('OUTPUT:', output)
print('ERROR:', error)
4 年前
回复了 blhsing 创建的主题 » 如何使用Python基于正则表达式划分字符串

你可以用 re.findall 使用模式查找分隔符模式,然后惰性地匹配任何字符,直到下一个分隔符模式或字符串结尾:

import re

s = '''--- Data-['tag']-['cli'] command ---> show date:

Current time: 2020-03-12 11:36:37 PDT

--- Data-['tag']-['shell'] command ---> show version:

OS Kernel 64-bit  
[builder_stable]

--- Data-['tag']-['cli'] command ---> show host:

Model: New'''

delimiter = r'--- Data[^\n]*?:'
print(re.findall(r'{0}.*?(?={0}|$)'.format(delimiter), s, re.S))
4 年前
回复了 blhsing 创建的主题 » 如何将python列表插入到特定的Oracle数据库列中?

Oracle中的绑定变量用冒号后跟数字表示。此外,绑定变量的值应作为元组传递:

c.execute( 'insert into MSDS_VII(STATUS1 ) values (:1)', (i[3],))

编辑:现在很清楚,您只是试图更新现有行,而不是插入新行。你应该使用 UPDATE

c.execute("update MSDS_VII set STATUS1=decode(STATUS, 1, 'ON', 0, 'OFF', 'NULL')")
5 年前
回复了 blhsing 创建的主题 » 如何在python 3版本中使用super

你可以打电话 super() ConnectInteractive.__init__

class ConnectInteractive(Connect):
    def __init__(self, ip, username, password):
         super().__init__(ip, username, password)
         self.client = self.client.invoke_shell()
4 年前
回复了 blhsing 创建的主题 » 动态更新Python字典内容

使用以下命令初始化列表:

jsonCommentOutput["comments"] = []

然后在代码后面 dynamic_content

jsonCommentOutput["comments"].append({"comment": dynamic_content})
5 年前
回复了 blhsing 创建的主题 » 从其他/Program python调用函数

你正在打开一个 for 循环,和 w 作为 open 它的功能 打开 覆盖它打开的文件,这就是为什么只从循环的最后一次迭代中获取输出。

您应该在循环外打开文件:

with open("input.txt", "w") as input_file:
    for i in list:
        print("{}".format(i), file = input_file)
5 年前
回复了 blhsing 创建的主题 » 如何在Python中找到两个日期之间的差异?

您应该在格式字符串中包含双引号,因为 time_data_from_csv 变量具有它们,根据错误消息:

time_info = datetime.strptime(time_data_from_csv, '"%m-%d-%Y %H:%M:%S.%f"')
5 年前
回复了 blhsing 创建的主题 » 如何在python中递归正好两个目录,只需要目录名?

os.listdir 只返回没有路径名的文件名,但是 os.path.isdir 需要完整的路径名,因此应该使用 os.path.join 在将路径名传递给 操作系统路径.isdir 以下内容:

for d1 in os.listdir(path):
    path2 = os.path.join(path, d)
    if os.path.isdir(path2):
        print("## " + d1 + "\r\n")
        for d2 in os.listdir(path2):
            if os.path.isdir(os.path.join(path2, d2)):
                print("### " + d2 + "\r\n")
4 年前
回复了 blhsing 创建的主题 » 为什么在python中使用'iter'函数

双参数版本 iter 是一个方便的函数,有助于编写更简洁的代码。与同类产品相比,它没有任何功能优势 while 你包括的回路。

你可以更新 dict2 具有 dict1 两个dict键的交集的值:

d1 = {1: 2, 3: 4}
d2 = {3: 5, 4: 3}
d2.update({k: d1[k] for k in d1.keys() & d2.keys()})

d2 会变成:

{3: 4, 4: 3}
4 年前
回复了 blhsing 创建的主题 » 无法从python导入模块

所有导入都与运行python的目录相关。从你的截图上很明显你在跑步 testcontent.py app\idol\content 而不是 main.py 在源根目录中,因此无法找到子目录 app 在内部 应用程序\偶像\内容 .

相反,您可以从 C:\Code\Python\K2Associates 这样地:

python app\idol\content\testcontent.py
5 年前
回复了 blhsing 创建的主题 » 如何用python正确打印位板

这个 bin 函数始终返回以 0b . 如果你不想要,你可以用 str.format 方法代替:

board = '{:064b}'.format(bitboard)
5 年前
回复了 blhsing 创建的主题 » 如何在python中以固定的间隔返回多个元素?

可以在嵌套列表理解中使用列表切片:

m = list(range(24))
print([j for i in range(2, len(m), 12) for j in m[i:i+3]])

这将输出:

[2, 3, 4, 14, 15, 16]

你可以 split 字符串并遍历结果列表:

for tl in tl_list[0].split():
    write_xml(image_folder, img, object_list, tl, br_list, savedir)
5 年前
回复了 blhsing 创建的主题 » 如何删除python中分号前的所有字母?[副本]

你可以 split 字符串,分割结果列表,然后重新- join 使用相同分隔符将列表切片为字符串:

s = "Jack;10;20;30\n Omar;20,24,25\n Carl;30;30;30\n"
print('\n'.join(';'.join(l.split(';')[1:]) for l in s.splitlines()))

这将输出:

10;20;30
20,24,25
30;30;30
5 年前
回复了 blhsing 创建的主题 » 在python中操作文本文件并创建新的文本文件

您可以将sum与生成器表达式一起使用,以小的形式计算与条件匹配的行数,然后使用str.join生成所需的输出:

major = '''chr1    +   1071396 1271396 LOC
chr12   +   1101483 1121483 MIR200B'''

minor = '''chr1    1071496 1071536 1
chr1    1071536 1071566 0
chr1    1073566 1073366 1
chr12   1101487 1101516 0
chr12   1101625 1101671 1'''

major, minor = ([l.split() for l in d.splitlines()] for d in (major, minor))

for name_major, sign, low, high, note in major:
    parts = list(range(int(low), int(high) + 1, (int(high) - int(low)) // 100))
    for part, (low, high) in enumerate(zip(parts, parts[1:]), 1):
        count = sum(1 for name_minor, n1, n2, _ in minor if name_major == name_minor and all(low <= int(n) <= high for n in (n1, n2)))
        print('\t'.join((name_major, sign, str(low), str(high), note, '%s_part%d' % (note, part), str(count))))

这将输出:

chr1    +   1071396 1073396 LOC LOC_part1   2
chr1    +   1073396 1075396 LOC LOC_part2   0
chr1    +   1075396 1077396 LOC LOC_part3   0
chr1    +   1077396 1079396 LOC LOC_part4   0
chr1    +   1079396 1081396 LOC LOC_part5   0
chr1    +   1081396 1083396 LOC LOC_part6   0
chr1    +   1083396 1085396 LOC LOC_part7   0
chr1    +   1085396 1087396 LOC LOC_part8   0
chr1    +   1087396 1089396 LOC LOC_part9   0
chr1    +   1089396 1091396 LOC LOC_part10  0
chr1    +   1091396 1093396 LOC LOC_part11  0
chr1    +   1093396 1095396 LOC LOC_part12  0
chr1    +   1095396 1097396 LOC LOC_part13  0
chr1    +   1097396 1099396 LOC LOC_part14  0
chr1    +   1099396 1101396 LOC LOC_part15  0
chr1    +   1101396 1103396 LOC LOC_part16  0
chr1    +   1103396 1105396 LOC LOC_part17  0
chr1    +   1105396 1107396 LOC LOC_part18  0
chr1    +   1107396 1109396 LOC LOC_part19  0
chr1    +   1109396 1111396 LOC LOC_part20  0
chr1    +   1111396 1113396 LOC LOC_part21  0
chr1    +   1113396 1115396 LOC LOC_part22  0
chr1    +   1115396 1117396 LOC LOC_part23  0
chr1    +   1117396 1119396 LOC LOC_part24  0
chr1    +   1119396 1121396 LOC LOC_part25  0
chr1    +   1121396 1123396 LOC LOC_part26  0
chr1    +   1123396 1125396 LOC LOC_part27  0
chr1    +   1125396 1127396 LOC LOC_part28  0
chr1    +   1127396 1129396 LOC LOC_part29  0
chr1    +   1129396 1131396 LOC LOC_part30  0
chr1    +   1131396 1133396 LOC LOC_part31  0
chr1    +   1133396 1135396 LOC LOC_part32  0
chr1    +   1135396 1137396 LOC LOC_part33  0
chr1    +   1137396 1139396 LOC LOC_part34  0
chr1    +   1139396 1141396 LOC LOC_part35  0
chr1    +   1141396 1143396 LOC LOC_part36  0
chr1    +   1143396 1145396 LOC LOC_part37  0
chr1    +   1145396 1147396 LOC LOC_part38  0
chr1    +   1147396 1149396 LOC LOC_part39  0
chr1    +   1149396 1151396 LOC LOC_part40  0
chr1    +   1151396 1153396 LOC LOC_part41  0
chr1    +   1153396 1155396 LOC LOC_part42  0
chr1    +   1155396 1157396 LOC LOC_part43  0
chr1    +   1157396 1159396 LOC LOC_part44  0
chr1    +   1159396 1161396 LOC LOC_part45  0
chr1    +   1161396 1163396 LOC LOC_part46  0
chr1    +   1163396 1165396 LOC LOC_part47  0
chr1    +   1165396 1167396 LOC LOC_part48  0
chr1    +   1167396 1169396 LOC LOC_part49  0
chr1    +   1169396 1171396 LOC LOC_part50  0
chr1    +   1171396 1173396 LOC LOC_part51  0
chr1    +   1173396 1175396 LOC LOC_part52  0
chr1    +   1175396 1177396 LOC LOC_part53  0
chr1    +   1177396 1179396 LOC LOC_part54  0
chr1    +   1179396 1181396 LOC LOC_part55  0
chr1    +   1181396 1183396 LOC LOC_part56  0
chr1    +   1183396 1185396 LOC LOC_part57  0
chr1    +   1185396 1187396 LOC LOC_part58  0
chr1    +   1187396 1189396 LOC LOC_part59  0
chr1    +   1189396 1191396 LOC LOC_part60  0
chr1    +   1191396 1193396 LOC LOC_part61  0
chr1    +   1193396 1195396 LOC LOC_part62  0
chr1    +   1195396 1197396 LOC LOC_part63  0
chr1    +   1197396 1199396 LOC LOC_part64  0
chr1    +   1199396 1201396 LOC LOC_part65  0
chr1    +   1201396 1203396 LOC LOC_part66  0
chr1    +   1203396 1205396 LOC LOC_part67  0
chr1    +   1205396 1207396 LOC LOC_part68  0
chr1    +   1207396 1209396 LOC LOC_part69  0
chr1    +   1209396 1211396 LOC LOC_part70  0
chr1    +   1211396 1213396 LOC LOC_part71  0
chr1    +   1213396 1215396 LOC LOC_part72  0
chr1    +   1215396 1217396 LOC LOC_part73  0
chr1    +   1217396 1219396 LOC LOC_part74  0
chr1    +   1219396 1221396 LOC LOC_part75  0
chr1    +   1221396 1223396 LOC LOC_part76  0
chr1    +   1223396 1225396 LOC LOC_part77  0
chr1    +   1225396 1227396 LOC LOC_part78  0
chr1    +   1227396 1229396 LOC LOC_part79  0
chr1    +   1229396 1231396 LOC LOC_part80  0
chr1    +   1231396 1233396 LOC LOC_part81  0
chr1    +   1233396 1235396 LOC LOC_part82  0
chr1    +   1235396 1237396 LOC LOC_part83  0
chr1    +   1237396 1239396 LOC LOC_part84  0
chr1    +   1239396 1241396 LOC LOC_part85  0
chr1    +   1241396 1243396 LOC LOC_part86  0
chr1    +   1243396 1245396 LOC LOC_part87  0
chr1    +   1245396 1247396 LOC LOC_part88  0
chr1    +   1247396 1249396 LOC LOC_part89  0
chr1    +   1249396 1251396 LOC LOC_part90  0
chr1    +   1251396 1253396 LOC LOC_part91  0
chr1    +   1253396 1255396 LOC LOC_part92  0
chr1    +   1255396 1257396 LOC LOC_part93  0
chr1    +   1257396 1259396 LOC LOC_part94  0
chr1    +   1259396 1261396 LOC LOC_part95  0
chr1    +   1261396 1263396 LOC LOC_part96  0
chr1    +   1263396 1265396 LOC LOC_part97  0
chr1    +   1265396 1267396 LOC LOC_part98  0
chr1    +   1267396 1269396 LOC LOC_part99  0
chr1    +   1269396 1271396 LOC LOC_part100 0
chr12   +   1101483 1101683 MIR200B MIR200B_part1   2
chr12   +   1101683 1101883 MIR200B MIR200B_part2   0
chr12   +   1101883 1102083 MIR200B MIR200B_part3   0
chr12   +   1102083 1102283 MIR200B MIR200B_part4   0
chr12   +   1102283 1102483 MIR200B MIR200B_part5   0
chr12   +   1102483 1102683 MIR200B MIR200B_part6   0
chr12   +   1102683 1102883 MIR200B MIR200B_part7   0
chr12   +   1102883 1103083 MIR200B MIR200B_part8   0
chr12   +   1103083 1103283 MIR200B MIR200B_part9   0
chr12   +   1103283 1103483 MIR200B MIR200B_part10  0
chr12   +   1103483 1103683 MIR200B MIR200B_part11  0
chr12   +   1103683 1103883 MIR200B MIR200B_part12  0
chr12   +   1103883 1104083 MIR200B MIR200B_part13  0
chr12   +   1104083 1104283 MIR200B MIR200B_part14  0
chr12   +   1104283 1104483 MIR200B MIR200B_part15  0
chr12   +   1104483 1104683 MIR200B MIR200B_part16  0
chr12   +   1104683 1104883 MIR200B MIR200B_part17  0
chr12   +   1104883 1105083 MIR200B MIR200B_part18  0
chr12   +   1105083 1105283 MIR200B MIR200B_part19  0
chr12   +   1105283 1105483 MIR200B MIR200B_part20  0
chr12   +   1105483 1105683 MIR200B MIR200B_part21  0
chr12   +   1105683 1105883 MIR200B MIR200B_part22  0
chr12   +   1105883 1106083 MIR200B MIR200B_part23  0
chr12   +   1106083 1106283 MIR200B MIR200B_part24  0
chr12   +   1106283 1106483 MIR200B MIR200B_part25  0
chr12   +   1106483 1106683 MIR200B MIR200B_part26  0
chr12   +   1106683 1106883 MIR200B MIR200B_part27  0
chr12   +   1106883 1107083 MIR200B MIR200B_part28  0
chr12   +   1107083 1107283 MIR200B MIR200B_part29  0
chr12   +   1107283 1107483 MIR200B MIR200B_part30  0
chr12   +   1107483 1107683 MIR200B MIR200B_part31  0
chr12   +   1107683 1107883 MIR200B MIR200B_part32  0
chr12   +   1107883 1108083 MIR200B MIR200B_part33  0
chr12   +   1108083 1108283 MIR200B MIR200B_part34  0
chr12   +   1108283 1108483 MIR200B MIR200B_part35  0
chr12   +   1108483 1108683 MIR200B MIR200B_part36  0
chr12   +   1108683 1108883 MIR200B MIR200B_part37  0
chr12   +   1108883 1109083 MIR200B MIR200B_part38  0
chr12   +   1109083 1109283 MIR200B MIR200B_part39  0
chr12   +   1109283 1109483 MIR200B MIR200B_part40  0
chr12   +   1109483 1109683 MIR200B MIR200B_part41  0
chr12   +   1109683 1109883 MIR200B MIR200B_part42  0
chr12   +   1109883 1110083 MIR200B MIR200B_part43  0
chr12   +   1110083 1110283 MIR200B MIR200B_part44  0
chr12   +   1110283 1110483 MIR200B MIR200B_part45  0
chr12   +   1110483 1110683 MIR200B MIR200B_part46  0
chr12   +   1110683 1110883 MIR200B MIR200B_part47  0
chr12   +   1110883 1111083 MIR200B MIR200B_part48  0
chr12   +   1111083 1111283 MIR200B MIR200B_part49  0
chr12   +   1111283 1111483 MIR200B MIR200B_part50  0
chr12   +   1111483 1111683 MIR200B MIR200B_part51  0
chr12   +   1111683 1111883 MIR200B MIR200B_part52  0
chr12   +   1111883 1112083 MIR200B MIR200B_part53  0
chr12   +   1112083 1112283 MIR200B MIR200B_part54  0
chr12   +   1112283 1112483 MIR200B MIR200B_part55  0
chr12   +   1112483 1112683 MIR200B MIR200B_part56  0
chr12   +   1112683 1112883 MIR200B MIR200B_part57  0
chr12   +   1112883 1113083 MIR200B MIR200B_part58  0
chr12   +   1113083 1113283 MIR200B MIR200B_part59  0
chr12   +   1113283 1113483 MIR200B MIR200B_part60  0
chr12   +   1113483 1113683 MIR200B MIR200B_part61  0
chr12   +   1113683 1113883 MIR200B MIR200B_part62  0
chr12   +   1113883 1114083 MIR200B MIR200B_part63  0
chr12   +   1114083 1114283 MIR200B MIR200B_part64  0
chr12   +   1114283 1114483 MIR200B MIR200B_part65  0
chr12   +   1114483 1114683 MIR200B MIR200B_part66  0
chr12   +   1114683 1114883 MIR200B MIR200B_part67  0
chr12   +   1114883 1115083 MIR200B MIR200B_part68  0
chr12   +   1115083 1115283 MIR200B MIR200B_part69  0
chr12   +   1115283 1115483 MIR200B MIR200B_part70  0
chr12   +   1115483 1115683 MIR200B MIR200B_part71  0
chr12   +   1115683 1115883 MIR200B MIR200B_part72  0
chr12   +   1115883 1116083 MIR200B MIR200B_part73  0
chr12   +   1116083 1116283 MIR200B MIR200B_part74  0
chr12   +   1116283 1116483 MIR200B MIR200B_part75  0
chr12   +   1116483 1116683 MIR200B MIR200B_part76  0
chr12   +   1116683 1116883 MIR200B MIR200B_part77  0
chr12   +   1116883 1117083 MIR200B MIR200B_part78  0
chr12   +   1117083 1117283 MIR200B MIR200B_part79  0
chr12   +   1117283 1117483 MIR200B MIR200B_part80  0
chr12   +   1117483 1117683 MIR200B MIR200B_part81  0
chr12   +   1117683 1117883 MIR200B MIR200B_part82  0
chr12   +   1117883 1118083 MIR200B MIR200B_part83  0
chr12   +   1118083 1118283 MIR200B MIR200B_part84  0
chr12   +   1118283 1118483 MIR200B MIR200B_part85  0
chr12   +   1118483 1118683 MIR200B MIR200B_part86  0
chr12   +   1118683 1118883 MIR200B MIR200B_part87  0
chr12   +   1118883 1119083 MIR200B MIR200B_part88  0
chr12   +   1119083 1119283 MIR200B MIR200B_part89  0
chr12   +   1119283 1119483 MIR200B MIR200B_part90  0
chr12   +   1119483 1119683 MIR200B MIR200B_part91  0
chr12   +   1119683 1119883 MIR200B MIR200B_part92  0
chr12   +   1119883 1120083 MIR200B MIR200B_part93  0
chr12   +   1120083 1120283 MIR200B MIR200B_part94  0
chr12   +   1120283 1120483 MIR200B MIR200B_part95  0
chr12   +   1120483 1120683 MIR200B MIR200B_part96  0
chr12   +   1120683 1120883 MIR200B MIR200B_part97  0
chr12   +   1120883 1121083 MIR200B MIR200B_part98  0
chr12   +   1121083 1121283 MIR200B MIR200B_part99  0
chr12   +   1121283 1121483 MIR200B MIR200B_part100 0

注意,您的预期输出不正确,因为 chr1 1073566 1073366 1 你的 minor 文件不在同一范围内 major 部分。

5 年前
回复了 blhsing 创建的主题 » 如何比较python中ser.readline()的输出?

这个 readline 方法返回一个结尾有换行符的字符串,因此您应该将其与结尾有换行符的值进行比较,或者在进行比较之前从字符串中删除换行符:

if res == 'ON\n':

或:

res = ser.readline().rstrip()
5 年前
回复了 blhsing 创建的主题 » 如何在当前python文件中获取module对象

你可以使用 sys.modules 具有 __name__ 作为获取当前模块引用的关键:

import sys
a = 10
this_module = sys.modules[__name__]
delattr(this_module, 'a')
4 年前
回复了 blhsing 创建的主题 » 在python中从内部函数提取退出代码

你可以使用 unittest.mock.patch 临时覆盖内置 print 具有自定义函数的函数,该函数使用原始的 打印 函数在传入的消息与要替换的消息匹配时打印所需消息,或者按原样打印消息:

from unittest.mock import patch

def custom_print(s, *args, **kwargs):
    orig_print("my customized error message" if s == "input invalid" else s, *args, **kwargs)

orig_print = print

def bar():
    with patch('builtins.print', new=custom_print):
        foo()

bar()
5 年前
回复了 blhsing 创建的主题 » 比较两个矢量python[duplicate]

你可以使用 collections.Counter :

from collections import Counter
Counter(a) == Counter(b)
5 年前
回复了 blhsing 创建的主题 » 如何在python程序中检测“space”?

你可以使用 getch 模块。

import getch
while getch.getch() != ' ':
    pass

或者在windows上,您可以使用 msvcr.getch :

import msvcrt
while msvcrt.getch() != ' ':
    pass
5 年前
回复了 blhsing 创建的主题 » python csv罗比尼奥

JSONDecodeError: Expecting value: line 1 column 1 (char 0) 指示服务器返回空响应,因为JSON解码器要求在第一个字符处有一个值,但没有得到任何值。服务器端可能出了问题,因此它不会返回任何内容。您应该使用调试器检查 status_code 响应对象的 res 了解问题的本质。

5 年前
回复了 blhsing 创建的主题 » 如何在函数python中调用类

您可以使用这样的列表理解:

def failed(list):
    return [student.name for student in students if not student.passes()]
5 年前
回复了 blhsing 创建的主题 » python中是否有函数可以解包任何序列?[副本]

你可以用 itertools.starmap 将键值对序列映射到 a.setattr :

list(starmap(a.__setattr__, b.items()))
4 年前
回复了 blhsing 创建的主题 » python-在上下文管理器外部管理游标连接

可以使上下文管理器返回光标而不是连接对象:

class DB_CM():
    def __init__(self, db_connection):
        self.db_connection = db_connection

    def __enter__(self):
        self.conn = sqlite3.connect(self.db_connection)
        cur = self.conn.cursor()
        cur.execute(pQuery)
        return cur

    def __exit__(self, exc_type, exc_val, exc_tb): # obligatory params
        self.conn.close()

所以 try ExecuteSelectQuery 可修改为:

with DB_CM(db_connection_string) as cur:
    result = cur.fetchall()        
    return result

以及 尝试 ExecuteNonQuery 可以简单地说:

with DB_CM(db_connection_string):
    pass
4 年前
回复了 blhsing 创建的主题 » 如何清除无关嵌套中的python列表?

您可以使用一个函数来递归地对给定列表中的每个项进行反嵌套,但如果列表只有一个项,并且该项是列表,则将子列表传递给递归调用:

def denest(lst):
    if isinstance(lst, list):
        if len(lst) == 1 and isinstance(lst[0], list):
            return denest(lst[0])
        return [denest(i) for i in lst]
    return lst

所以给出了存储在变量中的示例列表 lst , denest(lst) 将返回:

['A', ['B', ['C', [['D'], ['E'], ['F', ['G']], ['H'], ['I'], ['J']]]]]

您可以将字符串编码为字节,然后使用 unicode_escape 编码:

>>> buffer = input()
line1\r\nline2
>>> print(buffer.encode().decode('unicode_escape'))
line1
line2
5 年前
回复了 blhsing 创建的主题 » python中的迷宫生成器

通过弹出 visited 当你后退时,你会破坏你的道路。您应该使用索引来跟踪您的回溯:

def gen():
    pos = len(visited) - 1
    while len(list_moves(visited[pos])) < 1:
        pos -= 1
    next_visit = random.choice(list_moves(visited[pos]))
    visited.append(next_visit)

有了这个变化,一个 访问 将是:

[1, 2, 7, 12, 11, 16, 17, 18, 23, 24, 25, 20, 19, 14, 15, 10, 5, 4, 9, 8, 13, 3, 22, 21, 6]
5 年前
回复了 blhsing 创建的主题 » runtimeerror:在python中迭代期间字典更改了大小

正如异常消息所建议的,当您迭代dict的项时,不能改变它。您可以迭代dict的副本:

for Student_ID, Gender in list(Gender_dict.items()):
5 年前
回复了 blhsing 创建的主题 » python 3数组,反转多边形点

您可以从 my_list , zip 与自身配对x和y坐标,并使用x和y的各自计算来获得反向坐标:

def invert_horizontally(my_list, width, height):
    i = iter(my_list)
    return [coord for x, y in zip(i, i) for coord in (width - x, y)]

所以给你的样本输入,

invert_horizontally(my_list, width, height)

返回:

[100, 50, 50, 0, 50, 100]