Dodaj wpis w tym temacie
Spis tematów | Strona: 1 2 Wyślij wiadomość do admina |
Przewiń wpisy ↓ | Nowy temat na forum |
2023-05-15 (07:38) grem10 Data rejestracji: 2018-06-03 Ilość postów: 13 | wpis nr 1 466 451 [ CZCIONKA MONOSPACE ] Z wersjami Pythona bywa czasem kłopot, nie zawsze te najnowsze bywają najlepsze, to że kiedyś działał skrypt dawno to pewnie na wcześniejszej wersji pythona. Spróbujcie taki skrypt(by dobrze skopiować należy kliknąć czcionka specjalna): list1 = open('plik1.txt','r',encoding='utf-8').readlines() list2 = open('plik2.txt','r',encoding='utf-8').readlines() list_difference = [] for item in list1: if item not in list2: list_difference.append(item) with open('plik3.txt','w',encoding='utf-8') as file_out: for line in list_difference: file_out.write(line) albo taki: a = open('plik1.txt', 'r').readlines() b = open('plik2.txt', 'r').readlines() output = [] for item in a: if item not in b: output.append(item) with open('plik3.txt', 'w') as res: for line in output: res.write(line) powinno być poprawnie, ale czy napewno, u mnie działają przez przeciągnięcie lub z konsoli (np.poprawne użycie z wiersza poleceń: python test.py). |
2023-05-15 (09:09) grem10 Data rejestracji: 2018-06-03 Ilość postów: 13 | wpis nr 1 466 460 [ CZCIONKA MONOSPACE ] Bardzo dziwne u mnie chyba działa prawidłowo, przykładowa zawartość plik1.txt: abc def ghi jji ggg plik2.txt: jkl mno def abc bbb ngr po wykonaniu skryptu powstał plik3.txt: ghi jji ggg więc widzę że poprawnie. |
2023-05-15 (10:02) kleszek Data rejestracji: 2006-05-27 Ilość postów: 4903 | wpis nr 1 466 472 [ CZCIONKA MONOSPACE ] Makinero napisał cyt. Przykład Plik1.txt abc def ghi Plik2.txt jkl mno abc def Wynik powinien być taki: Plik3.txt ghi Przepisz kod z obrazka do notatnika i zapisz go pod jakąś nazwą z rozszerzeniem .py Uruchom skrypt przez dwukrotne naciśnięcie pliku. U mnie działa. Kod wstawiłem w postaci obrazka, gdyż wstawiając go bezpośrednio na stronę pojawiają się błędy. |
2023-05-15 (10:05) kleszek Data rejestracji: 2006-05-27 Ilość postów: 4903 | wpis nr 1 466 475 [ CZCIONKA STANDARDOWA ] Ten sam kod skopiowany ze skryptu def usun_powtarzajace_sie_wyrazy(plik1, plik2, plik3): with open(plik1, 'r') as file1: wyrazy_plik1 = set(file1.read().split()) with open(plik2, 'r') as file2: wyrazy_plik2 = file2.read().split() wyrazy_plik2_bez_powtorzen = [wyraz for wyraz in wyrazy_plik2 if wyraz not in wyrazy_plik1] with open(plik3, 'w') as file3: for wyraz in wyrazy_plik2_bez_powtorzen: file3.write(wyraz + ' ') plik1 = 'Plik1.txt' plik2 = 'Plik2.txt' plik3 = 'Plik3.txt' usun_powtarzajace_sie_wyrazy(plik2, plik1, plik3) |
2023-05-15 (10:15) kleszek Data rejestracji: 2006-05-27 Ilość postów: 4903 | wpis nr 1 466 477 [ CZCIONKA MONOSPACE ] cyt. kleszek> a sprawdzałeś na chińszczyźnie ? Na chińszczyznie nie działa Ale może chińszczyzna to ... skrajny przypadek ? który będzie rzadko używany ? |
2023-05-15 (10:36) kleszek Data rejestracji: 2006-05-27 Ilość postów: 4903 | wpis nr 1 466 485 [ CZCIONKA MONOSPACE ] Sztuczna intelgencja podpowiedziała, że trzeba lekko zmodyfikować kod na taki def usun_powtarzajace_sie_wyrazy(plik1, plik2, plik3): with open(plik1, 'r', encoding='utf-8') as file1: wyrazy_plik1 = set(line.strip() for line in file1 if line.strip()) with open(plik2, 'r', encoding='utf-8') as file2: wyrazy_plik2 = set(line.strip() for line in file2 if line.strip()) wyrazy_plik2_bez_powtorzen = wyrazy_plik2 - wyrazy_plik1 with open(plik3, 'w', encoding='utf-8') as file3: file3.write(' '.join(wyrazy_plik2_bez_powtorzen)) plik1 = 'Plik1.txt' plik2 = 'Plik2.txt' plik3 = 'Plik3.txt' usun_powtarzajace_sie_wyrazy(plik1, plik2, plik3) Linia file 3.write powinna wyglądać tak jak na obrazku --- wpis edytowano 2023-05-15 10:38 --- |
2023-05-15 (10:38) makinero Data rejestracji: 2017-04-10 Ilość postów: 8697 | wpis nr 1 466 487 [ CZCIONKA MONOSPACE ] fair_play - w pythonie nie działa nawet na prostych liczbach Np. Plik1.txt 1 2 3 Plik2.txt 2 3 4 Daje BŁĘDNY wynik. Widać komputer się myli: Plik3.txt 1 3 |
2023-05-15 (10:45) makinero Data rejestracji: 2017-04-10 Ilość postów: 8697 | wpis nr 1 466 489 [ CZCIONKA MONOSPACE ] kleszek - ten kod co podałeś nie działa. Właśnie jest problem, który opisano tutaj: https://realpython.com/invalid-syntax-python/ |
2023-05-15 (10:49) kleszek Data rejestracji: 2006-05-27 Ilość postów: 4903 | wpis nr 1 466 490 [ CZCIONKA MONOSPACE ] U mnie działa. Plik1 i Plik2 muszą być w tym samym katalogu co skrypt .py Klikasz na ten skrypt .py 2 razy. Skrypt generuje Plik3.txt W przykładzie, który podałeś Plik1.txt 1 2 3 Plik2.txt 2 3 4 wynikiem działania skryptu jest Plik3.txt 1 |
2023-05-15 (11:11) makinero Data rejestracji: 2017-04-10 Ilość postów: 8697 | wpis nr 1 466 491 [ CZCIONKA MONOSPACE ] @kleszek - zapisz ten skryp jako jeden plik i prześlij. Być może ja jak wklejam ten kod do notatnika i zapisuje z rozszerzeniem .py nie odwzorowuje dokładności co do jego formatu oraz czy należy zapisac ten skrypt z ANSI czy UTF-8. Ja mam domyślnie UTF-8 w Windows 10. |
2023-05-15 (11:20) kleszek Data rejestracji: 2006-05-27 Ilość postów: 4903 | wpis nr 1 466 492 [ CZCIONKA MONOSPACE ] https://megawrzuta.pl/download/6112948157ca58dfa3b7cf2b47267070.html |
2023-05-15 (11:39) makinero Data rejestracji: 2017-04-10 Ilość postów: 8697 | wpis nr 1 466 495 [ CZCIONKA MONOSPACE ] kleszek - pierwszy skrypt, który podałeś (NIE ZWRACA BŁĘDU, uruchamia się) drugi skrypt "china.py", który podałeś, nie uruchamia się... SyntaxError: invalid syntax --- wpis edytowano 2023-05-15 11:40 --- |
2023-05-15 (11:40) Lottonauta Data rejestracji: 2012-09-03 Ilość postów: 2770 | wpis nr 1 466 496 [ CZCIONKA MONOSPACE ] @makinero Jak dużo masz tych plików do porównania? |
2023-05-15 (11:43) makinero Data rejestracji: 2017-04-10 Ilość postów: 8697 | wpis nr 1 466 498 [ CZCIONKA MONOSPACE ] Lottonauta - mam dwa pliki, ale w przyszłości może być ich więcej. |
2023-05-15 (11:45) kleszek Data rejestracji: 2006-05-27 Ilość postów: 4903 | wpis nr 1 466 499 [ CZCIONKA MONOSPACE ] To nie był skrypt do chińszczyzny !!! To skrypt, którym wygenerowałem plik3 dla przykładu z wpis nr 1 466 490 Skrypt do chińszczyzny to ten. Nie wiem czy działa. Sprawdź sam https://megawrzuta.pl/download/db21286d756491ed25e884fe268fe467.html |
2023-05-15 (11:54) kleszek Data rejestracji: 2006-05-27 Ilość postów: 4903 | wpis nr 1 466 501 [ CZCIONKA MONOSPACE ] Ale żeby to prawidłowo zadziałało to musisz (chyba) mieć dodaną w windowsie obsługę języka chińskiego. Tak tylko gdybam. Na pewno nie będę tego sprawdzał. Na liczbach ten skrypt (AAA) działa. Czy china działa prawidłowo sprawdź sam |
2023-05-15 (12:00) makinero Data rejestracji: 2017-04-10 Ilość postów: 8697 | wpis nr 1 466 502 [ CZCIONKA MONOSPACE ] @kleszek jak może działać na liczbach? Oto przykład, że nie. plik1 1 2 3 plik2 2 3 4 plik3 1 Jaki "1"??? Powinno być TYLKO "4" |
2023-05-15 (12:12) kleszek Data rejestracji: 2006-05-27 Ilość postów: 4903 | wpis nr 1 466 504 [ CZCIONKA MONOSPACE ] Makinero, Ty już sam nie wiesz czego chcesz. W tym przykładzie napisałeś Przykład Plik1.txt abc def ghi Plik2.txt jkl mno abc def Wynik powinien być taki: Plik3.txt ghi Wynikiem jest wpis ghi który NIE ZNAJDUJE SIĘ w pliku2. Zgadza się ? Więc analogicznie w przykładzie plik1 1 2 3 plik2 2 3 4 plik3 1 wynikiem, którego brakuje w pliku2 w stosunku do pliku1 jest liczba 1 ... Zgadza się ? |
2023-05-15 (12:18) makinero Data rejestracji: 2017-04-10 Ilość postów: 8697 | wpis nr 1 466 506 [ CZCIONKA MONOSPACE ] kleszek, przecież ja widze tylko liczbę "4" nową w pliku 2. Pierwszy plik jest starszy a drugi nowszy. Czyli tylko to co nowe w pliku 2 powinno być wynikiem w pliku 3 Z tego wszystkiego można się "zakręcić" w tych kombinacjach ale to jest finalne - to co właściwie chcę uzyskać Ale mam w d*pie liczby, mnie interesują nazwy chińsko-normalne , nawiasty (zwykłe i kwadratowe), myślniki, dash, spacje, kropki białe normalne, SPECJALNE ZNAKI itp. taka jest przeróżna nazwa każdego pliku, takie znaki moga zawierać Kiedyś inni się poddali, mówili, że to niewykonalne dla nich i jedynie pozostaje na "google" szukać rozwiażań. --- wpis edytowano 2023-05-15 12:24 --- |
2023-05-15 (12:25) kleszek Data rejestracji: 2006-05-27 Ilość postów: 4903 | wpis nr 1 466 509 [ CZCIONKA MONOSPACE ] "Czyli tylko to co nowe w pliku 2 powinno być wynikiem w pliku 3" To dlaczego w tym przykładzie Plik1.txt abc def ghi Plik2.txt jkl mno abc def Wynik powinien być taki: Plik3.txt ghi wynikiem jest ghi ? |
| Dodaj wpis w tym temacie | Spis tematów | Wyniki lotto | Strona: 1 2 Wyślij wiadomość do admina |