лучший способ сравнить двоичный файл & mdash; Python [дубликат]

Сначала проверьте ваше соединение.

Затем, если вы хотите получить точное значение из базы данных, тогда вы должны написать:

$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName =`$usernam`");

Или вы хотите получить LIKE, то вы должны написать:

$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '%$username%'");
21
задан Kevin Guan 9 November 2015 в 13:08
поделиться

4 ответа

import difflib
f=open('a.txt','r')  #open a file
f1=open('b.txt','r') #open another file to compare
str1=f.read()
str2=f1.read()
str1=str1.split()  #split the words in file by default through the spce
str2=str2.split()
d=difflib.Differ()     # compare and just print
diff=list(d.compare(str2,str1))
print '\n'.join(diff)
1
ответ дан Azad Mehla 24 August 2018 в 20:28
поделиться
hosts0 = open("C:path\\a.txt","r")
hosts1 = open("C:path\\b.txt","r")

lines1 = hosts0.readlines()

for i,lines2 in enumerate(hosts1):
    if lines2 != lines1[i]:
        print "line ", i, " in hosts1 is different \n"
        print lines2
    else:
        print "same"

Этот код работает для меня. Не могли бы вы указать, с какой ошибкой вы столкнулись?

2
ответ дан Phillip 24 August 2018 в 20:28
поделиться

Библиотека difflib полезна для этого и входит в стандартную библиотеку. Мне нравится унифицированный формат diff.

http://docs.python.org/2/library/difflib.html#difflib.unified_diff

import difflib
import sys

with open('/tmp/hosts0', 'r') as hosts0:
    with open('/tmp/hosts1', 'r') as hosts1:
        diff = difflib.unified_diff(
            hosts0.readlines(),
            hosts1.readlines(),
            fromfile='hosts0',
            tofile='hosts1',
        )
        for line in diff:
            sys.stdout.write(line)

Выходы:

--- hosts0
+++ hosts1
@@ -1,5 +1,4 @@
 one
 two
-dogs
 three

И вот хитроумная версия, которая игнорирует определенные строки. Там могут быть крайние случаи, которые не работают, и, конечно, есть более эффективные способы сделать это, но, возможно, это будет достаточно для ваших целей.

import difflib
import sys

with open('/tmp/hosts0', 'r') as hosts0:
    with open('/tmp/hosts1', 'r') as hosts1:
        diff = difflib.unified_diff(
            hosts0.readlines(),
            hosts1.readlines(),
            fromfile='hosts0',
            tofile='hosts1',
            n=0,
        )
        for line in diff:
            for prefix in ('---', '+++', '@@'):
                if line.startswith(prefix):
                    break
            else:
                sys.stdout.write(line[1:])
10
ответ дан rbutcher 24 August 2018 в 20:28
поделиться

Вы можете добавить условный оператор. Если ваш массив выходит за пределы индекса, перерыв и печать остальной части файла.

1
ответ дан user 24 August 2018 в 20:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: