Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python脚本能否将自己的内容输出到另一个文件?_Python_Python 3.x - Fatal编程技术网

python脚本能否将自己的内容输出到另一个文件?

python脚本能否将自己的内容输出到另一个文件?,python,python-3.x,Python,Python 3.x,我正在将python脚本中的一些数据导出到Excel文件中,我想知道是否也可以将当前运行的脚本的内容导出到该Excel文件中。这将节省我的时间,这样我就不必每次运行脚本时都手动将脚本复制到Excel文件中 我写Excel没有问题,我唯一的问题是我不知道python是否可以写出自己的脚本内容 导入熊猫 excel\u file=pandas.ExcelFile(“my\u file.xlsx”) df=excel\u file.parse(“工作表名称”) 数据=df.样本(n=5,随机状态=1)

我正在将python脚本中的一些数据导出到Excel文件中,我想知道是否也可以将当前运行的脚本的内容导出到该Excel文件中。这将节省我的时间,这样我就不必每次运行脚本时都手动将脚本复制到Excel文件中

我写Excel没有问题,我唯一的问题是我不知道python是否可以写出自己的脚本内容

导入熊猫
excel\u file=pandas.ExcelFile(“my\u file.xlsx”)
df=excel\u file.parse(“工作表名称”)
数据=df.样本(n=5,随机状态=1)
#我更喜欢在这里获取脚本内容
#脚本内容=?
使用pandas.ExcelWriter(“output.xlsx”)作为编写器:
数据。到excel(书写器,工作表\u name='data')
脚本内容。到excel(编写器,工作表\u name='script')
编辑:可能的重复不是一个完整的解决方案,因为它只返回一个字符串,我的问题需要源代码的数据帧。请参见下面答案中的我的解决方案。

请参见

如果您的代码是在函数
foo()
下编写的:


变量
lines
现在保存函数
foo()

的源代码。大多数Python模块都有一个
\uuuuuuu file\uuuuu
全局变量,用于指定加载它们的源文件。可能是打开该文件并读取它是获取脚本源代码的最简单方法,假设脚本都在单个模块中

with open(__file__) as source_file:
    source = source_file.read()

# do whatever you want with the source string

我在这里找不到其他答案的解决方案,但我确实找到了一种方法,部分使用了上面评论中提供的链接

我使用
inspect
模块获取脚本内容,并将其转换为数据帧进行导出。解决方案这是可行的解决方案:

导入熊猫
从pandas.compat导入StringIO
进口检验
def sample():
excel\u file=pandas.ExcelFile(r“file.xlsx”)
df=excel\u file.parse(“工作表名称”)
随机样本=df.样本(n=5,随机状态=1)
返回随机样本
我的样本=样本()
script\u text=pandas.read\u csv(StringIO(inspect.getsource(inspect.getmodule(inspect.currentframe())),sep=“\n”)
使用pandas.ExcelWriter('output.xlsx')作为编写器:
my_sample.to_excel(编写器,工作表名称='sample',索引=False)
脚本文本到excel(编写器,工作表名称='script',索引=False)

我不清楚你的意思。您是否正在尝试将源代码写入Excel文件?是的,脚本中的所有代码都需要与数据一起导出。因此,您的源代码位于某个文件中?那么你知道如何打开一个文件,阅读文本。。。等等?好吧,你可以写一个;)可能重复的
with open(__file__) as source_file:
    source = source_file.read()

# do whatever you want with the source string