怎么用python将txt的第几行第几列输出

不会写代码 将将进酒一句一行写入文件,然后对第一行第一个字第二行第二个字第n行第n个进行输出

参考GPT和自己的思路:

可以使用Python的文件操作和字符串操作来实现。具体步骤如下:

  1. 将将进酒一句一行写入文件中,可以使用下面的代码:
with open('file.txt', 'w') as f:
    f.write('将\n')
    f.write('进酒\n')
    f.write('一\n')
    f.write('句\n')
    f.write('一\n')
    f.write('行\n')

这将会将“将进酒”一句一行地写入到名为“file.txt”的文件中。

  1. 对于输出某行某列的问题,可以使用如下代码实现:
with open('file.txt', 'r') as f:
    lines = f.readlines()

# 输出第一行第一个字
print(lines[0][0])

# 输出第二行第二个字
print(lines[1][1])

# 输出第n行第n个字
n = 4  # 表示第4行第4个字
print(lines[n-1][n-1])

这里的代码首先读取了文件中的所有行,并存储到一个名为“lines”的列表中,然后通过索引访问该列表,输出指定行列的字符。其中,第一行第一个字对应的是“lines[0][0]”,第二行第二个字对应的是“lines[1][1]”,以此类推。注意,在Python中,索引从0开始计数,因此需要将行和列的值减1,才能得到正确的索引值。

我的思路是:

1、首先,将《将进酒》每一行存入列表;

2、然后遍历列表每一个元素,即诗句每一行,存入文件每一行;

3、再次读取文件,然后使用一个变量来计算每一行需要读取的字的位置,再读取每一行后,取出相应的字打印即可。

代码如下:

参考链接:


https://baijiahao.baidu.com/s?id=1753175384727300951&wfr=spider&for=pc

https://blog.csdn.net/weixin_35749440/article/details/129514184


# https://hanyu.baidu.com/shici/detail?from=kg1&highlight=%E5%B0%86%E8%BF%9B%E9%85%92%EF%BC%8C&pid=60841450e8714b78a6f7ef385dcb63e0&srcid=51369
# 把李白的《将进酒》的每一行诗句,存入列表
poetry = ["君不见,黄河之水天上来,奔流到海不复回。",

            "君不见,高堂明镜悲白发,朝如青丝暮成雪。",

            "人生得意须尽欢,莫使金樽空对月。",

            "天生我材必有用,千金散尽还复来。",

            "烹羊宰牛且为乐,会须一饮三百杯。",

            "岑夫子,丹丘生,将进酒,杯莫停。",

            "与君歌一曲,请君为我倾耳听。",

            "钟鼓馔玉不足贵,但愿长醉不愿醒。",

            "古来圣贤皆寂寞,惟有饮者留其名。",

            "陈王昔时宴平乐,斗酒十千恣欢谑。",

            "主人何为言少钱,径须沽取对君酌。",

            "五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。"]


# https://baijiahao.baidu.com/s?id=1753175384727300951&wfr=spider&for=pc
# 遍历存放诗歌的列表的每个元素,一行一个写入文件,每行结尾加个换行符
with open('poetry.txt','w') as file:
    for line in poetry:
        file.write(line+"\n")

i=1  # 第一行从第一个字开始
# https://blog.csdn.net/weixin_35749440/article/details/129514184
# 读取文件每一行,将每行行号个字输出
with open('poetry.txt','r') as file:
    for line in file:
        
        if line[i-1]!=',':  # 因为诗文加了逗号,所以加个判断,去除打印逗号
            print(line[i-1])
        else:     # 如果是逗号,打印后一个字
            i=i+1
            print(line[i-1])
        
        i=i+1  # 指向下一个字

img