创建一个返回新文件大小的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脚本的主要内容,如果未能解决你的问题,请参考以下文章

python常用运维脚本实例

python常用运维脚本实例

除非我在shell窗口中按ENTER键,否则不会使用python创建新的文本文件

python新创建的脚本文件无法使用popen执行,求解

如何在命令行里运行python脚本

Pytho之Django