【发布时间】:2021-02-28 06:15:01
【问题描述】:
我必须按照这些说明完成这个功能,我尝试过使用 for 循环和 os.path 方法进行循环,但仍然无法弄清楚?我该如何改进?
def copy_files():
- 打开
datafiles文件夹中的每个.txt文件。datafiles包含 10 个.txt文件,其数字用“,”分隔。datafiles中的每个文件都被命名为file00、file01、file0(+=1)...- 读入文本,然后将其写回
mydatafiles子文件夹中myfiles文件夹中的同名文件。- 您必须通过将每个文件中的文本作为字符串读取,然后将其写回到新文件中来实现。
- 此函数不需要错误处理,也没有返回值。
- 完成后,
mydatafiles文件夹将包含datafiles文件夹中每个文件的副本。
from shutil import copyfile
def copy_files():
src_files = os.listdir('datafiles')
for file_name in src_files:
full_file_name = os.path.join('datafiles', file_name)
if os.path.isfile(full_file_name):
copyfile(full_file_name, 'mydatafiles')
替代方法:
from shutil import copyfile
def copy_files():
completeName = os.path.join('myfiles', "mydatafiles")
new_file = " "
for file in 'datafiles':
new_file += file
incompleteName = os.path.join('datafiles', new_file)
with open(incompleteName,'r') as firstfile, open('completeName','a') as secondfile:
for line in firstfile:
# write content to second file
secondfile.write(line)
感谢您的帮助
【问题讨论】: