Найти - Пользователи
Полная версия: Портация проги с *nix на windows
Начало » Python для новичков » Портация проги с *nix на windows
1
topolidze
Добрый день!

Помогите, пожалуйста, разобраться. Есть прога, которая написана для unix систем. Она анализирует письма в папке на предмет корректности цифровой подписи (DKIM). Мне нужно выполнить её под виндой:

#!/bin/bash
leakfolder="$HOME/temp/mail" # Папка с письмами
fake="$HOME/fake.txt" # Файл, в который пишется список писем, не прошедших проверку
true="$HOME/true.txt" # Файл, в который пишется список писем, прошедших проверку
dkimverify="$HOME/pydkim/dkimverify.py"

!!!!!!!!!!!!!!!!!!!!!!!!!! важный момент
# Путь к скрипту dkimverify.py из пакета pydkim, необходимому для проверки. Брать тут http://hewgill.com/pydkim/

cd "$leakfolder"
find -type f | while read file; do
echo $(basename "$file")
python "$dkimverify" < "$file"
if [[ "$?" == "0" ]]; then
echo $(basename "$file") >> "$true"
ln -s "$file" "$leakfolder/true/$(basename "$file")"
else
echo $(basename "$file") >> "$fake"
fi
done
Я переписал скрипт так:

import os

leakfolder='C:\temp\mail' # Папка с письмами
fake='c:\temp\fake.txt' # Файл, в который пишется список писем, не прошедших проверку
true='c:\temp\true.txt' # Файл, в который пишется список писем, прошедших проверку
dkimverify='c:\temp\pydkim03\dkimverify.py'

dir = 'C:\temp\mail'
names = os.listdir(dir) # список файлов и поддиректорий в данной директории
for name in names:
fullname = os.path.join(dir, name) # получаем полное имя
if os.path.isfile(fullname): # если это файл...
python dkimverify < fullname !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! вот тут ошибка, на слове dkimverify
if [[ "$?" == "0" ]]; then
echo $(basename fullname) >> true
else
echo $(basename fullname) >> fake
fi
done
По всей видимости, мне нужно инсталлировать pydkim (который в папке c:\temp\pydkim03\), но я не знаю как. Подскажите, пожалуйста, как это сделать? Там сказано, запустите:

python setup.py install

Но я не понимаю, как это сделать. В командной строке оболочки пишу c:\temp\pydkim03\setup.py install
Выдает ошибку: SyntaxError: invalid syntax
FishHook
Сверху форума большими буквами написано
КОД ОБОРАЧИВАТЬ В ТЕГИ
для кого это, интересно?
Твои каракули читать глаза поломать можно
s0rg
У вас изначально - скрипт на shell.
При чем тут python?
И да - то что вы понаписали в python вообще работать не будет.
topolidze
Большое спасибо за помощь, коллеги, её довольно трудно переоценить )))

Если кому-нибудь понадобится, вот работающий код. Не идеальный, конечно, я сегодня впервые увидел python, однако рабочий.

import os
import sys
import dkim

dir = ‘C:\\temp\\mail’ # Папка с письмами

names = os.listdir(dir) # список файлов и поддиректорий в данной директории
for name in names:
fullname = os.path.join(dir, name) # получаем полное имя
if os.path.isfile(fullname): # если это файл…

myfile = open (fullname, “rU”)
if not dkim.verify(myfile.read()):
print fullname + “ fake”
else:
print fullname + “ true”

else:
print “ok”
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB