首页 > 解决方案 > Python 多文件内容

问题描述

我正在处理的文件包含几行数字序列。我想乘以这个字符串的一部分。我该怎么做?当我只执行 'num[10:](which is for ex 2)*4' (如下所示)时,它会打印我 '2' 四次,我想打印 8。

import os
from datetime import date

with open('C:\\Users\\X\\Desktop\\python\\Y\\Z.txt') as file:
    numbers = file.readlines()


def last_number():
    for num in numbers:
        last = num[10:]
        x = last*4
        print(x)
last_number()    

标签: pythonfileoperating-systemnumbers

解决方案


读取文件时,您以字符串格式读取它。为了对内容进行数学运算,您必须将其转换为 anint或 a float

具体来说,如果你知道代码中数字的确切位置,你应该试试这个,注意我也numbers作为函数的参数发送:

import os
from datetime import date

with open('C:\\Users\\X\\Desktop\\python\\Y\\Z.txt') as file:
    numbers = file.readlines()


def last_number(numbers):
    # numbers = [int(num) for num in numbers]
    # prev line will create a list of numbers in integer form for you
    for num in numbers:
        last = int(num[10:])
        x = last*4
        print(x)
last_number()    

推荐阅读