سلام میخواستم یه فایل رو با , جداسازی کنم ممنون میشم کمکم کنید :) یکم حجم فایل زیاده و هرگونه تغیری روش خیلی زمان بره
سلاااااااااااااااااااام
برای کار با فایلهای طولانی بهتره از Generator استفاده کنی، البته بعضی وقتا هم مجبوری از Generatorها استفاده کنی.
طبق مساله ای که طرح کردی، من این کد رو نوشتم:
FILE_PATH = "RezaMobarakTextFile.txt"
NEW_FILE_PATH = "RezaMobarakTextFile2.txt"
def get_file_line_by_line(file_path):
with open(file_path, mode="r") as file:
for line in file:
yield line
def append_a_line_to_file(line, file_path):
with open(file_path, mode="a") as file:
file.write(line)
def replace_space_with_comma(string):
return string.replace(' ', ', ')
for line in get_file_line_by_line(file_path=FILE_PATH):
new_line = replace_space_with_comma(string=line)
append_a_line_to_file(line=new_line, file_path=NEW_FILE_PATH)
یه راه حل دیگه هم پیدا کردم ولی مطمئن نیستم رو فایلهای بزرگ جواب میده یا نه.
import fileinput
FILE_PATH = "RezaMobarakTextFile.txt"
def replace_space_with_comma_in_every_line_of_file(file_path):
for line in fileinput.input(file_path, inplace=True):
line = line.replace(' ', ', ')
print(line, end='')
if __name__ == "__main__":
replace_space_with_comma_in_every_line_of_file(file_path=FILE_PATH)