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.pystart.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 中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查命令是不是存在于 shell 脚本中? [复制]

如何检查文件是不是存在于 C++ 中? [复制]

如何从已经存在的文件中复制权限?

如何检查python中是不是存在文件? [复制]

如何检查 Python 中是不是同时存在两个变量? [复制]

当用户在flutter中使用otp方法登录时,如何检查用户详细信息是不是已经存在于firebase中? [复制]