python替换文本中的字符

有一个文件city.py,我想达到以下两个目标:

1、把city.py复制成beijing.pyshanghai.py
2、city.py里面有一个字符串city,要改成对应的beijingshanghai

然后写了一个文件copy_city.py来完成上面两个目标:

import shutil

def copy_city():
    cities = ['beijing', 'shanghai']
    for c in cities:
        city_file_name = c +'.py'
        shutil.copyfile('city.py',city_file_name)
        with open(city_file, "r+") as f:
            read_data = f.read()
            read_data.replace('city', c)
            


if __name__ == "__main__":
    copy_city()

问题:
上面的代码可以完成第一个目标,但是不能完成第二个目标。需要怎么做才可以?

阅读 3.4k
1 个回答
import shutil
city_file = 'city.py'
def copy_city():
    cities = ['beijing', 'shanghai']
    read_data = ''
    with open(city_file, "r+") as f:
        read_data = f.read()
    for c in cities:
        city_file_name = c + '.py'
        shutil.copyfile('city.py', city_file_name)
        with open(city_file_name, 'w') as f:
            f.write(read_data.replace('city', c))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题