小编Liz*_*eiy的帖子

如果语句检查列表包含在不应该返回时返回true

我有一个包含值的列表:

['1', '3', '4', '4']
Run Code Online (Sandbox Code Playgroud)

我有一个if语句,它将检查列表中是否包含值然后输出一个语句:

if "1" and "2" and "3" in columns:
    print "1, 2 and 3"
Run Code Online (Sandbox Code Playgroud)

考虑到列表不包含值"2",它不应该打印语句,但它是:

输出:

1, 2 and 3
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么会这样吗?这是Python读取列表的方式吗?

python if-statement list

10
推荐指数
2
解决办法
1302
查看次数

Django - 动态添加字段

目标: 通过按下按钮动态地向表单添加字段.提交后,将这些值存储在列表中的所有字段中.

(我已经查看了Stack Overflow上的其他问题,并试图找到一个基本的教程/解释如何执行此操作:动态地向表单添加字段)

我不确定我需要查找/研究什么.我知道它将涉及JavaScript,但它的Django方面,我不确定它将如何工作.

我为初学者创建了一个基本表单:

在此输入图像描述

Models.py

from django.db import models

class SimpleForm(models.Model):
    basic_field = models.CharField(max_length=200)
Run Code Online (Sandbox Code Playgroud)

Forms.py

from django import forms
from models import SimpleForm

class SimpleForm(forms.ModelForm):

class Meta:
    model = SimpleForm
    fields = ['basic_field']
Run Code Online (Sandbox Code Playgroud)

Views.py

from django.shortcuts import render
from forms import SimpleForm

def index(request):
    if request.method == "POST":
        # For loop to iterate over dynamically created fields
        # Store values in list
    else:
        form = SimpleForm()
    return render(request, "index.html", {'form':form})
Run Code Online (Sandbox Code Playgroud)

的index.html

{% block content %}
    <h1>Simple …
Run Code Online (Sandbox Code Playgroud)

python forms django jquery

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

将文本文件格式化为列

我有一个包含数据的文本文件,它像桌子一样设置,但用逗号分隔,例如:

姓名,年龄,FavColor,地址

鲍勃,18岁,蓝色,史密斯街1号

朱莉,17岁,黄色,约翰街4号

首先,我尝试使用for循环,并将每个'列'及其所有值放入一个单独的数组中.

例如/'nameArray'将包含bob,julie.

这是我的实际脚本中的代码,有12列,因此c不应该大于12.

declare -A Array

for((c = 1; c <= 12; c++))
{
    for((i = 1; i <= $total_lines; i++))
    {
        record=$(cat $FILE | awk -F "," 'NR=='$i'{print $'$c';exit}'| tr -d ,)
        Array[$c,$i]=$record

    }
}
Run Code Online (Sandbox Code Playgroud)

从这里我然后使用'printf'函数格式化每个数组并将它们打印为列.这个问题是我有超过3个数组,在我的实际代码中,它们都在同一个'printf'行.这是我不喜欢的,我知道这是一种愚蠢的方式.

for ((i = 1; i <= $total_lines; i++))
{
    printf "%0s %-10s %-10s...etc \n" "${Array[1,$i]}" "${Array[2,$i]}" "${Array[3,$i]}" ...etc
}
Run Code Online (Sandbox Code Playgroud)

但这确实给了我想要的输出,见下图:

在此输入图像描述

我想弄清楚如何以另一种方式做到这一点,不需要大量的打印声明.我第一次调用for循环时遇到'awk'的错误.

任何建议将不胜感激,我已经查看了多个线程和帖子,试图找到一个合适的解决方案,但没有找到一些有用的东西.

arrays bash shell text-files

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

Bash sed 从文件中删除行不起作用

我正在尝试从文本文件中删除具有匹配 ID 号的行。

学生 ID 变量:$sid,例如12345678$FILE=student_record

我首先尝试:

sed -i '/$sid/d' student_record.txt
Run Code Online (Sandbox Code Playgroud)

这给了我找不到文件。下一个:

sed -i '/$sid/d' $FILE
Run Code Online (Sandbox Code Playgroud)

我得到:sed: 1: "student_record": unterminated substitute in regular expression

sed -i '/12345678/d' $FILE
Run Code Online (Sandbox Code Playgroud)

与上面相同的错误

sed -i '/$sid/ d' student_record.txt
Run Code Online (Sandbox Code Playgroud)

产量:

sed 1: "student_record.txt": bad flag in substitute command: 'x'
Run Code Online (Sandbox Code Playgroud)

如果我尝试不使用-i

sed '/$sid/ d' $FILE
Run Code Online (Sandbox Code Playgroud)

它只是打印整个文件,不会删除任何行。

建议会很好。

bash shell sed

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

标签 统计

bash ×2

python ×2

shell ×2

arrays ×1

django ×1

forms ×1

if-statement ×1

jquery ×1

list ×1

sed ×1

text-files ×1