File 是不是存在于 Python 中? [复制]
Posted
技术标签:
【中文标题】File 是不是存在于 Python 中? [复制]【英文标题】:Does File exist in Python? [duplicate]File 是否存在于 Python 中? [复制] 【发布时间】:2011-04-17 20:03:01 【问题描述】:可能重复:Pythonic way to check if a file exists?
如何使用 python 2.6 检查文件是否存在?
如果文件存在,则运行 exec redo.py。 如果文件不存在 exec file start.py
文件为0kb,但名称为Xxx100926.csv
Ans 好像是
from os path import exists
from __future__ import with_statement
if exists('Xxx100926.csv'):
from redo import main
#execfile(u'C:\redo.py')
else:
from start import main
#execfile(u'C:\start.py')
with open(Xxx100926.csv, 'a'): pass
#and run main function
main()
【问题讨论】:
你有没有尝试过自己做任何事情? @silent 我正在迁移到 python,问简单的编码问题要容易得多。并且,从其他人那里获得想法,而不是自己编写代码,并认为一切都是正确的,并且是最好的方法。我有大多数问题的代码,但在 python 中没有。而且,阅读和理解其他人的编码想法也更有趣。 【参考方案1】:你可以把main函数放在redo.py
和start.py
然后
from os path import exists
if exists('Xxx100926.csv'):
from redo import main
else:
from start import main
#and run main function
main()
【讨论】:
对滥用条件导入投反对票。 我不知道为什么这会被否决。你还会做什么? 我猜“with open(thepath, 'a'): pass” 会在 else 下,我也不明白 downvote 背后的逻辑,但希望知道为什么?我一直在考虑这些思路,但正在考虑在 if/try 语句下使用 execfile(u'C:\start.py') 和 execfile(u'C:\redo.py') 我建议不要使用 execFile,因为如果有人用恶意的东西替换你的开始和重做文件,那将是一个相当大的安全风险。特别是在 C:\ 目录中的 Windows 上。至少对于 jcubic 的回答,它必须是一个正确的 python 包。而且我认为以这种方式进行验证检查会更容易 @Falmarri 谢谢,需要考虑的事情......它不在“C:\”中,而是在某个地方的驱动器上。以上是关于File 是不是存在于 Python 中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章