Lenzy
Uzman Üye
- Katılım
- 7 Tem 2024
- Mesajlar
- 812
- Beğeniler
- 147
- Yaş
- 18
- İletişim
merhabalar Ben Lenzy Bu Gün Sizlere
Url Ayıklayıcığı Uygulaması Yaptım Python ile
Şunu Belirtim Bu Uygulamayı Yaparken GPT den Yardım Aldım
Url Ayıklayıcığı Uygulaması Yaptım Python ile
Şunu Belirtim Bu Uygulamayı Yaparken GPT den Yardım Aldım
Rhanta ARKADAŞIMDAN TEŞEKÜR EDERİM BANA BU İŞLERDE
BAŞARILI OLABİLECEĞİMİ GÖSTERDİ SAĞOL DOST
- Bu Kodu Editleyip , Geliştirip Paylaşabilirsiniz Sakıncası yok İznim Vardır.
Python Kurulumu
1-) Pythonun 3.10.0 Sürümü Gerekir Kurmak için
Kütüphane Kurulumu
1-) Gereken Kütüphane
pip install PyQt5
pip install numpy
pip install pandas
Bukadar Bunları Kurdukdan Sonra Kodunuzu Cmdye Bunları Yazarak python örnek.py gibi çalıştırabilirsiniz
KENDİ SECDİĞİNİZ URL YAZILARINI SİLECEK
- Bu Kodu Editleyip , Geliştirip Paylaşabilirsiniz Sakıncası yok İznim Vardır.
Python Kurulumu
1-) Pythonun 3.10.0 Sürümü Gerekir Kurmak için
Linkleri görebilmek için kayıt olmanız gerekmektedir
indirip kurun.Kütüphane Kurulumu
1-) Gereken Kütüphane
pip install PyQt5
pip install numpy
pip install pandas
Bukadar Bunları Kurdukdan Sonra Kodunuzu Cmdye Bunları Yazarak python örnek.py gibi çalıştırabilirsiniz
KENDİ SECDİĞİNİZ URL YAZILARINI SİLECEK
import sys
import os
import re
from PyQt5.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QPushButton, QFileDialog, QLabel,
QMessageBox, QProgressBar, QTextEdit)
from PyQt5.QtGui import QFont
from PyQt5.QtCore import Qt, QThread, pyqtSignal
class URLRemoverThread(QThread):
progress = pyqtSignal(int)
result = pyqtSignal(bool, str)
def __init__(self, input_files, output_folder, urls_to_remove):
super().__init__()
self.input_files = input_files
self.output_folder = output_folder
self.urls_to_remove = urls_to_remove
def run(self):
try:
total_files = len(self.input_files)
for file_index, input_file in enumerate(self.input_files):
output_file = os.path.join(self.output_folder, os.path.basename(input_file))
with open(input_file, 'r', encoding='utf-8') as file:
lines = file.readlines()
with open(output_file, 'w', encoding='utf-8') as file:
for line in lines:
for url in self.urls_to_remove:
line = line.replace(url, '') # Belirtilen URL'leri kaldır
file.write(line) # Güncellenmiş satırı yaz
self.progress.emit(int(((file_index + 1) / total_files) * 100))
self.result.emit(True, "Belirtilen URL'ler başarıyla kaldırıldı.")
except Exception as e:
self.result.emit(False, f"Hata oluştu: {str(e)}")
class FileProcessorApp(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
self.recent_files = []
self.urls_to_remove = []
def init_ui(self):
layout = QVBoxLayout()
# Başlık
self.label = QLabel('Lenzy')
self.label.setFont(QFont('Arial', 24, QFont.Bold))
self.label.setAlignment(Qt.AlignCenter)
layout.addWidget(self.label)
# URL'leri girme alanı
self.url_input = QTextEdit(self)
self.url_input.setPlaceholderText("Silmek istediğiniz URL'leri (her birini yeni bir satıra yazarak) girin...")
layout.addWidget(self.url_input)
# Dosya seçme butonu
self.open_btn = QPushButton('Dosya Seç')
self.open_btn.setFont(QFont('Arial', 14))
self.open_btn.clicked.connect(self.select_files)
layout.addWidget(self.open_btn)
# Kaydet butonu
self.save_btn = QPushButton('Kaydet')
self.save_btn.setFont(QFont('Arial', 14))
self.save_btn.clicked.connect(self.save_files)
layout.addWidget(self.save_btn)
# Dosya bilgisi göstergesi
self.file_info_label = QLabel('Dosya bilgileri burada görünecek...')
self.file_info_label.setFont(QFont('Arial', 12))
layout.addWidget(self.file_info_label)
# İlerleme çubuğu
self.progress_bar = QProgressBar(self)
layout.addWidget(self.progress_bar)
# Widget yerleşimi ve pencere ayarları
self.setLayout(layout)
self.setWindowTitle('Lenzy')
self.setGeometry(500, 300, 600, 400)
self.show()
def select_files(self):
options = QFileDialog.Options()
files, _ = QFileDialog.getOpenFileNames(self, 'Dosya Seç', '', 'Text Files (*.txt);;All Files (*)', options=options)
if files:
self.recent_files = files
file_info = "\n".join([f"{file} ({os.path.getsize(file) / 1024:.2f} KB)" for file in files])
self.file_info_label.setText(f'Seçilen Dosyalar:\n{file_info}')
def save_files(self):
if not self.recent_files:
QMessageBox.warning(self, 'Hata', 'Lütfen önce dosyalar seçin!')
return
urls_input = self.url_input.toPlainText().strip()
if not urls_input:
QMessageBox.warning(self, 'Hata', 'Lütfen silmek istediğiniz URL\'leri girin!')
return
self.urls_to_remove = [url.strip() for url in urls_input.splitlines() if url.strip()]
output_folder = QFileDialog.getExistingDirectory(self, 'Kaydetme Klasörü Seç')
if output_folder:
self.processor_thread = URLRemoverThread(self.recent_files, output_folder, self.urls_to_remove)
self.processor_thread.progress.connect(self.update_progress)
self.processor_thread.result.connect(self.show_result)
self.processor_thread.start()
def update_progress(self, value):
self.progress_bar.setValue(value)
def show_result(self, success, message):
if success:
QMessageBox.information(self, 'Başarılı', message)
else:
QMessageBox.critical(self, 'Hata', message)
self.progress_bar.setValue(0)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = FileProcessorApp()
sys.exit(app.exec_())