如何在PYTHON中写一个代码文件?

时间:2023-01-18 15:36:45
写一个自动生成python代码的Python程序,遇到了点问题。
比如有这样一个123.py文件,内容是这样的
--------------------
a = 123
print(a)
--------------------
然后我用文件操作原封不动的将这个123.py文件的内容作为字符串写入到文本文件中。比如
------------------
filename = 'abc.py'
opf = open(filename,'w')
opf.write('a = 123\nprint(a)\n')
------------------
这个文件操作并不涉及到123.py,是直接自己手打的,但当123.py代码量一大的时候,这种办法太浪费时间,请问有没有什么有效的方法?
个人试过直接复制123.py的文本,并赋值给某一变量text,但是只能复制单行。

6 个解决方案

#1



with open("123.py",'r') as f_read:
    with open('ttt.py','w') as f_write:
        f_write.write(f_read.read())

#2


不存在只能复制单行这种说法。
大概像下面这种就可以读完了
with open("file") as fh:
    line = fh.readline()
    while line:
        print(line.strip())
        line = fh.readline()

#3


你好,谢谢你的回答,不过我还有点问题,因为我的123.py实际上是不存在的,我想把123.py代码整个作为一个字符串放到某一变量text里面,比如我直接定义
text=‘a = 123\nprint(a)’
但是代码量一长的话,就很麻烦,请问这样的话该如何操作呢?

#4


引用 2 楼 u012536120 的回复:
不存在只能复制单行这种说法。
大概像下面这种就可以读完了
with open("file") as fh:
    line = fh.readline()
    while line:
        print(line.strip())
        line = fh.readline()

你好,谢谢你的回答,不过我还有点问题,因为我的123.py实际上是不存在的,我想把123.py代码整个作为一个字符串放到某一变量text里面,比如我直接定义
text=‘a = 123\nprint(a)’
但是代码量一长的话,就很麻烦,请问这样的话该如何操作呢? 

#5


引用 2 楼 u012536120 的回复:
不存在只能复制单行这种说法。
大概像下面这种就可以读完了
with open("file") as fh:
    line = fh.readline()
    while line:
        print(line.strip())
        line = fh.readline()

请看一下上一个楼层,我想把代码内嵌到程序的变量里面,而不使用一个py文件模板,这样有什么方法吗?谢谢

#6


引用 5 楼 qq_41987033 的回复:
请看一下上一个楼层,我想把代码内嵌到程序的变量里面,而不使用一个py文件模板,这样有什么方法吗?谢谢

关键是那个a+,是append的意思。
#!/usr/bin/python
# -*- coding: utf-8 -*-

with open('D:/testP/zz.txt','a+') as f:
    f.write('第一行')
    f.write('\n')
    f.write('第二行')

print('OK')

#1



with open("123.py",'r') as f_read:
    with open('ttt.py','w') as f_write:
        f_write.write(f_read.read())

#2


不存在只能复制单行这种说法。
大概像下面这种就可以读完了
with open("file") as fh:
    line = fh.readline()
    while line:
        print(line.strip())
        line = fh.readline()

#3


你好,谢谢你的回答,不过我还有点问题,因为我的123.py实际上是不存在的,我想把123.py代码整个作为一个字符串放到某一变量text里面,比如我直接定义
text=‘a = 123\nprint(a)’
但是代码量一长的话,就很麻烦,请问这样的话该如何操作呢?

#4


引用 2 楼 u012536120 的回复:
不存在只能复制单行这种说法。
大概像下面这种就可以读完了
with open("file") as fh:
    line = fh.readline()
    while line:
        print(line.strip())
        line = fh.readline()

你好,谢谢你的回答,不过我还有点问题,因为我的123.py实际上是不存在的,我想把123.py代码整个作为一个字符串放到某一变量text里面,比如我直接定义
text=‘a = 123\nprint(a)’
但是代码量一长的话,就很麻烦,请问这样的话该如何操作呢? 

#5


引用 2 楼 u012536120 的回复:
不存在只能复制单行这种说法。
大概像下面这种就可以读完了
with open("file") as fh:
    line = fh.readline()
    while line:
        print(line.strip())
        line = fh.readline()

请看一下上一个楼层,我想把代码内嵌到程序的变量里面,而不使用一个py文件模板,这样有什么方法吗?谢谢

#6


引用 5 楼 qq_41987033 的回复:
请看一下上一个楼层,我想把代码内嵌到程序的变量里面,而不使用一个py文件模板,这样有什么方法吗?谢谢

关键是那个a+,是append的意思。
#!/usr/bin/python
# -*- coding: utf-8 -*-

with open('D:/testP/zz.txt','a+') as f:
    f.write('第一行')
    f.write('\n')
    f.write('第二行')

print('OK')

相关文章