سلام میخواستم یه فایل رو با , جداسازی کنم ممنون میشم کمکم کنید :)
یکم حجم فایل زیاده و هرگونه تغیری روش خیلی زمان بره
سلاااااااااااااااااااام
برای کار با فایل های طولانی بهتره از 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)
فایل کد رو هم میزارم.
تو این جلسه
https://7learn.ac/unit-python-generator
استاد Generator رو کامل توضیح دادن.
این مقاله
https://www.programiz.com/python-programming/generator
هم خوب Generator رو توضیح داده.
یه راه حل دیگه هم پیدا کردم ولی مطمئن نیستم رو فایل های بزرگ جواب میده یا نه.
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)
فایل کد هم پیوست کردم.