首页 > 解决方案 > Python正在每一行打印字母

问题描述

我正在尝试获取文件夹中的第一个 mp4 和 txt 文件,这很有效。但是当我打印它时,它只会在不同的行上打印文件名的每个字母。这是代码:

import os
import glob
import instabot
from instabot import Bot

bot = Bot()
path = 'PATH'

#This downloads all files saved
os.system("instaloader --login USERNAME --password PASSWORD :saved")
os.chdir(path)

for file in glob.glob('*.jpg'):
    os.remove(file)

for file in glob.glob('*.xz'):
    os.remove(file)

for file in glob.glob('*.mp4')[0]:
    print(file)

for file in glob.glob('*.txt')[0]:
    print(file)

所以是的,您可以根据需要测试代码,但您必须安装 os、instaloader 和 instabot。因此,如果有人可以帮助我,那就太好了!

多谢你们!:)

编辑:好的,我想更清楚一点,因为评论中有一些混乱,很多人建议我简单地删除有效的 [0] 但如果我不添加它,它将打印文件夹中的每个文件。所以我需要一种方法来处理文件夹中的第一个 mp4 和 txt 文件。再次感谢!

标签: python

解决方案


import os
import glob
import instabot
from instabot import Bot

bot = Bot()
path = 'PATH'

#This downloads all files saved
os.system("instaloader --login USERNAME --password PASSWORD :saved")
os.chdir(path)

for file in glob.glob('*.jpg'):
    os.remove(file)

for file in glob.glob('*.xz'):
    os.remove(file)

for file in glob.glob('*.mp4'):
    print(file)

for file in glob.glob('*.txt'):
    print(file)

删除[0],您的循环正在遍历第一个文件名的每个字符 (glob.glob('*.mp4')[0]是一个字符串,因此file每个字符都是。

比如有文件名a.mp4、b.mp4,使用ofglob.glob('*.mp4')[0]只会给你a.mp4,当放入for循环时,会循环遍历每个字符so,a,.,m,p,4, ETC


推荐阅读