小编blh*_*ing的帖子

检查一个字符串的字母是否在另一字符串中

好吧,基本上我必须检查一个字符串是否与另一个字符串具有相同的字母。这两个字符串都是通过input()获得的。

我不想再次检查某个字母是否在另一个字符串中,因此如果我已经检查了该字母,我想跳到下一个字母。

我现在的代码是这样的:

str1, str2 = list(input()), list(input()) 

if len(str1) > len(str2):
    str = str1
else: 
    str = str2

for x in str:
    c = 0
    if x in str2:
        c += 1
if c != 0:
    print("Both have the same letters!") 
else: 
    print("Nope there are some letters missing..")
Run Code Online (Sandbox Code Playgroud)

我不知道我是否应该使用列表而不是使用计数器..请详细解释解决方案或一些高质量的指导将非常感激!<3

python algorithm python-3.x

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

Perl:匹配后打印所有行

我正在尝试在perl中解析文件。我想在正则表达式匹配后打印所有行

例如,文件是

num_of_dogs,10,#start_reading
num_of_cat,15
num_birds,20
num_of_butterfly,80
.....
Run Code Online (Sandbox Code Playgroud)

我要比赛后的所有台词 #start_reading

我已经尝试过了,但是只打印下一行

while (my $line = <$csv_file>) {
    next unless $line =~ /(.*),#end_of_tc/;
    if ($line =~ /(.*)/){
    print $file = $1;
    }
}
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样

num_of_cats,15
num_of_birds,20
......
Run Code Online (Sandbox Code Playgroud)

提前致谢

regex perl next

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

'_sre.SRE_Match'对象不可下标

我具有以下语法,但是每当在3.6中运行时,都会抛出错误:'_sre.SRE_Match'对象不是可下标的脚本在python3.7中工作正常,但在python3.6中出错

if {host}.issubset(sg_data['hosts'].split(',')):
    saved_sg = [x for x in recorded_state if x['sg'] == sg_data['id'] and x['host'] == host][0]['data']
    dec_saved_data = json.loads(self.encryption.decrypt(saved_sg).decode())
    if sg_data['display_state'].lower() == 'offline':
        if dec_saved_data['display_state'].lower() != 'offline':
            yield from self.set_online(sg_data, host)
    else:
        parsed_host = re.search('^.*\((.*)\).*$', sg_data['display_state'])
        if sg_data['display_type'].lower() == 'parallel':
            if parsed_host:
                if not {host}.issubset(parsed_host.group(1).split(',')):
                    yield from self.set_online(sg_data, host)
        else:
            if dec_saved_data['display_state'].lower() == 'offline':
                yield from self.set_offline(sg_data, host)
            else:
                parsed_saved_host = re.search('^.*\((.*)\).*$', dec_saved_data['display_state'])
                if parsed_saved_host:
                    if not {parsed_host[0]}.issubset(parsed_saved_host.group(1).split(',')):
                        yield from self.set_switch(sg_data, host)

    if dec_saved_data['frozen'] != sg_data['frozen']:
        if dec_saved_data['frozen'] …
Run Code Online (Sandbox Code Playgroud)

python python-3.6

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

执行切片的Python字节码有时会导致“ SystemError:未知操作码”

给定一个由以下3行代码编译而成的代码对象:

code = compile('''a = 1 / 0 # bad stuff. avoid running this!
b = 'good stuff'
c = True''', '', 'exec')
Run Code Online (Sandbox Code Playgroud)

调用dis.dis(code)将分解为:

  1           0 LOAD_CONST               0 (1)
              2 LOAD_CONST               1 (0)
              4 BINARY_TRUE_DIVIDE
              6 STORE_NAME               0 (a)

  2           8 LOAD_CONST               2 ('good stuff')
             10 STORE_NAME               1 (b)

  3          12 LOAD_CONST               3 (True)
             14 STORE_NAME               2 (c)
             16 LOAD_CONST               4 (None)
             18 RETURN_VALUE
Run Code Online (Sandbox Code Playgroud)

如何仅提取并运行第二行的字节码b = 'good stuff'

例如,如果我只想提取并运行c = True从字节索引开始的最后一行字节代码12,我可以对代码对象的co_code …

python bytecode python-3.x

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

python argparse在没有给出参数时获取完整的使用信息

编写脚本使启动 lxc 容器更加灵活;根据测试用户需要更好的帮助:)

#!/usr/bin/env python3
import argparse
import sys

def parse_args():
    parser = argparse.ArgumentParser(description="stand up an lxc container")
    if len(sys.argv) == 1:
        parser.format_help()
    parser.add_argument("-4i", "--fouri", type=str, help="IPv4 address, if containername NOT in DNS (yet)")
    parser.add_argument("-6i", "--sixi", nargs='?', const=1, default="::2", type=str, help="IPv6 address, if containername NOT in DNS (yet)")
    parser.add_argument("-4m", "--fourm", nargs='?', const=1, default="24", type=str, help="IPv4 netmask, if unset '24'")
    parser.add_argument("-6m", "--sixm", nargs='?', const=1, default="64", type=str, help="IPv6 netmask, if unset '64'")
    parser.add_argument("-4g", "--fourg", type=str, help="IPv4 gateway")
    parser.add_argument("-6g", "--sixg", nargs='?', const=1, default="::1", …
Run Code Online (Sandbox Code Playgroud)

python argparse python-3.x

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

如何使用python直接创建一个csv文件到ftp服务器?

我有一个代码来创建一个 csv 文件并且可以将它上传到 ftp 服务器

with open(csv_file, 'w') as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=csv_columns1) #csv_columns1 is a list of value to become  as heading
    writer.writeheader()
    for data in vals['details']:# values for the header
        writer.writerow(data)
    writer = csv.DictWriter(csvfile, fieldnames=csv_columns2)#csv_columns1 is a list of value to become  as heading
    writer.writeheader()
    writer = csv.DictWriter(csvfile, fieldnames=csv_columns)#csv_columns1 is a list of value to become  as heading
    writer.writeheader()
    for data in vals['OrderLine']:# values for the header
        writer.writerow(data)
        print(os.system('pwd'))

     Output_Directory = "ftp_path_to_store_file"
     username = "ftp_user_names"
     password = …
Run Code Online (Sandbox Code Playgroud)

python ftp file python-3.x

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

正则表达式获取倒数第二个特殊字符之前的所有数据

我找不到任何以前提出的与此类似的问题。我需要一个正则表达式来获取倒数第二个特殊字符之前的所有数据。

例如:

suite 1, street 1, zip city, country
Run Code Online (Sandbox Code Playgroud)

我只需要suite 1, street 1.

我知道如何使用最后一个特殊字符之前获取数据[^,]*$,但不使用倒数第二个字符。

regex

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

打开文本文件时出现“OSError:[Errno 36] 文件名太长”

我正在尝试用新号码替换文本文件中已有的号码。我打开了文件,我打开的文件名非常短:“example_Na.chem”,但我仍然收到错误:OSError:[Errno 36]文件名太长”。

我正在使用的代码是:

filename_chem = open('./input/example_Na/example_Na.chem', 'r').read()
input_file_chem = filename_chem.format(albeitSSA=albeitSSA)
    with open(filename_chem, 'w') as fid:
        fid.write(input_file_chem)



Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

Python遍历列表列表

我有列表列表,我需要通过 Python 遍历每个字符串,删除空格(条)并将列表保存到新列表中。

例如原始列表: org = [ [' a ','b '],['c ',' d '],['e ',' f'] ]

期待新列表: new = [ ['a','b'],['c','d'],['e','f'] ]

我从下面的代码开始,但不知道如何将剥离的对象添加到新的列表列表中。new.append(item) - 创建没有内部列表的简单列表。

new = [] for items in org: for item in items: item= item.strip() new.append(item)

python python-3.x

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

如何在python中的每个列表/元组中修改第一个值?

我有一个列表/元组的列表,例如:

objects = [
 (1, "a", "foo"), # or I can make [1, "a", "foo"] instead
 (20, "bb", "bar"),
 (1231, "cde", "foo2"),
]
Run Code Online (Sandbox Code Playgroud)

现在我想修改每个元组的第一个值(例如,做一个简单的to_string转换):

objects = [
 ("1", "a", "foo"), # or I can make [1, "a", "foo"] instead
 ("20", "bb", "bar"),
 ("1231", "cde", "foo2"),
]
Run Code Online (Sandbox Code Playgroud)

目前,我创建了一个全新的列表:

objects_str = []
for object in objects:
   objects_str.append((str(object[0]), object[1], object[2]))
Run Code Online (Sandbox Code Playgroud)

有没有更清洁的方法?我考虑过使用,namedtuple但看起来它们也是不可变的。另一种选择可能是使用:

objects_str = []
for object in objects:
   object[0] = str(object[0])
   objects_str.append(object)
Run Code Online (Sandbox Code Playgroud)

注意:我也可以对原始对象进行变异。

python python-3.x

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

标签 统计

python ×8

python-3.x ×7

regex ×2

algorithm ×1

argparse ×1

bytecode ×1

file ×1

ftp ×1

next ×1

perl ×1

python-3.6 ×1