Mam skrypt Pythona parse.py, który w skrypcie otwiera plik, powiedzmy plik1, a następnie coś zrobić, może wypisuje całkowitą liczbę znaków.
filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)
W tej chwili używam stdout, aby skierować wynik do mojego pliku wyjściowego - wyjście
python parse.py >> output
Jednak nie chcę robić tego pliku po pliku ręcznie, czy istnieje sposób, aby automatycznie zająć się każdym plikiem? Lubić
ls | awk '{print}' | python parse.py >> output
W takim razie problem w jaki sposób mogłem odczytać nazwę pliku ze standardin? czy jest już kilka wbudowanych funkcji do łatwego wykonywania ls i tego rodzaju pracy?
Dzięki!
with ... as ...:
stwierdzeń. Czy mógłbyś wyjaśnić?Permission Error: [Errno 13] Permission denied:
powinieneś spróbować użyć os.walk
źródło
Szukałem tej odpowiedzi:
możesz również wybrać „* .txt” lub inne końce nazwy pliku
źródło
W rzeczywistości możesz po prostu użyć modułu os, aby zrobić oba:
Oto prosty przykład:
Teraz nie tylko wymieniłeś wszystkie pliki w folderze, ale także posortowałeś je (opcjonalnie) według nazwy początkowej, typu pliku i innych. Teraz powtórz każdą listę i rób swoje.
źródło
źródło
Poniższy kod odczytuje wszystkie pliki tekstowe dostępne w katalogu zawierającym uruchomiony skrypt. Następnie otwiera każdy plik tekstowy i zapisuje słowa z linii tekstu na liście. Po zapisaniu słów drukujemy każde słowo wiersz po wierszu
źródło