创建一个返回新文件大小的python脚本
Posted
技术标签:
【中文标题】创建一个返回新文件大小的python脚本【英文标题】:Creating a python script that returns the size of a new file 【发布时间】:2020-06-17 17:01:50 【问题描述】:我正在尝试 create_python_script 函数,该函数在当前工作目录中创建一个新的 python 脚本,将 cmets 行添加到它由 'cmets' 变量声明的行,并返回新文件的大小。我得到的输出是 0 但应该是 31。不知道我做错了什么。
import os
def create_python_script(filename):
comments = "# Start of a new Python program"
with open("program.py", "w") as file:
filesize = os.path.getsize("/home/program.py")
return(filesize)
print(create_python_script("program.py"))
【问题讨论】:
因此您的脚本将文件:"program.py"
截断为零大小,然后查询文件大小(其 0)并返回。你的意思是把comments
写入文件吗?
【参考方案1】:
您忘记实际写入文件,因此它不会包含任何内容。要记住的另一件重要事情是文件在 with 语句之后自动关闭。换句话说:在 with 语句结束之前不会向文件写入任何内容,因此程序中的文件大小仍然为零。 这应该有效:
import os
def create_python_script(filename):
comments = "# Start of a new Python program"
with open(filename, "w") as f:
f.write(comments)
filesize = os.path.getsize(filename)
return(filesize)
print(create_python_script("program.py"))
请注意,输入参数以前未使用,现在已更改。
【讨论】:
【参考方案2】:def create_python_script(filename):
comments = "# Start of a new Python program"
with open(filename, 'w') as file:
filesize = file.write(comments)
return(filesize)
print(create_python_script("program.py"))
【讨论】:
以上是关于创建一个返回新文件大小的python脚本的主要内容,如果未能解决你的问题,请参考以下文章