相关疑难解决方法(0)

Python - 何时使用文件vs打开

Python中的文件和打开有什么区别?我什么时候应该使用哪一个?(说我在2.5)

python file

137
推荐指数
4
解决办法
8万
查看次数

argumentparser关闭文件参数

argumentparser可以获取文件类型参数并直接打开文件,例如:

parser.add_argument('infile', nargs='?', type=argparse.FileType('r'))
args = parser.parse_args().__dict__
input = args['infile'].readlines()
Run Code Online (Sandbox Code Playgroud)

我需要关闭args['infile']我的程序吗?辩论者会为我关闭吗?我没有在文件中找到任何提及的内容.

python

8
推荐指数
1
解决办法
1285
查看次数

Python File对象是真实文件吗?

在Python中,文件对象可能指向真实文件,stdin,stdout,stderr,甚至是其他东西.因此它可以是文件,也可以是file.flush中所述的真实文件.

如何知道文件是否是真实文件?我找到了一些猜测的方法,但似乎没有一个真正可靠:

  1. file not in [sys.stdin, sys.stdout, sys.stderr] - 似乎最安全但仅适用于那些标准类型,而不是非常通用的解决方案.
  2. os.path.isfile(file.name) - 看起来非常安全,但如果在某些创建模式下打开新文件我可能无效.
  3. file.fileno() == 0 - 这假设方法未实现,默认实现返回0,正常实现永远不会返回0.
  4. file.name.startswith('<')- 这确实假设文件系统不允许<在文件名中.

为什么我需要知道这个,是因为我想早点关闭它并使用with file as f:可能关闭stdin/stdout听起来像个坏主意.

python file-io

4
推荐指数
1
解决办法
359
查看次数

标签 统计

python ×3

file ×1

file-io ×1