Найти - Пользователи
Полная версия: Помогите, пожалуйста! Работа с файлами
Начало » Центр помощи » Помогите, пожалуйста! Работа с файлами
1
barsuk
Дан текстовый файл, каждая строка которого содержит несколько чисел, разделенные пробелами (вещественные числа имеют ненулевую дробную часть). Создать файл целых чисел, содержащий все целые числа из исходного файла (в том же порядке).
ZerG
 import os
fname = "/file.txt"
fname_result = "/result.txt"
fpath = os.path.join(os.getcwd() + fname)
fpath_result = os.path.join(os.getcwd() + fname_result)
new_lines = []
with open(fpath) as data:
    for line in data.readlines():
        valid_numbers = []
        for number in line.split():
            try:
                if int(number):
                    valid_numbers.append(number)
            except ValueError:
                pass
                # print(f"The {number} was skiped.")
        new_lines.append(valid_numbers)
with open(fpath_result, "w") as result:
    for line in new_lines:
        result.write(" ".join(line) + "\n")
py.user.next
  
#!/usr/bin/env python3
 
# Дан текстовый файл, каждая строка которого содержит несколько чисел,
# разделенные пробелами (вещественные числа имеют ненулевую дробную
# часть). Создать файл целых чисел, содержащий все целые числа из
# исходного файла (в том же порядке).
 
def is_number(s):
    return '.' not in s
 
def run():
    ifname = 'file.txt'
    ofname = 'output.txt'
    with open(ifname, encoding='utf-8') as fin, \
         open(ofname, 'w', encoding='utf-8') as fout:
        for line in fin:
            numbers = ' '.join(filter(is_number, line.split()))
            if numbers:
                print(numbers, file=fout)
 
run()
file.txt
12 34 56
12.5 34.0 56.3
12.8 10 34.3
78 90 56.0
output.txt
12 34 56
10
78 90
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