相关疑难解决方法(0)

在Python程序中使用SQLite

我创建了一个Python模块,用于创建和填充多个SQLite表.现在,我想在一个程序中使用它,但我真的不知道如何正确调用它.我发现的所有教程基本上都是"内联",即他们以线性方式使用SQLite,而不是如何在生产中实际使用它.

我正在尝试做的是检查方法是否已经创建了数据库.如果是这样,那么我可以使用它.如果没有,则引发异常,程序将创建数据库.(或者使用if/else语句,以较好者为准).

我创建了一个测试脚本,看看我的逻辑是否正确,但它不起作用.当我创建try语句时,它只是创建一个新数据库,而不是检查是否已存在.下次运行脚本时,即使我尝试捕获异常,也会收到表已存在的错误.(我之前没有使用过try/except,但认为这是学习的好时机).

是否有任何关于在操作上使用SQLite的好教程或有关如何编写代码的任何建议?我查看了pysqlite教程和我找到的其他人,但他们没有解决这个问题.

python sqlite exception

14
推荐指数
4
解决办法
3万
查看次数

如果已经存在该文件,则在覆盖时重命名文件名的Python程序

正如标题所说,我想要一个更改文件名的python程序,但是如果已经存在具有该目标名称的文件,我想覆盖.

import os, sys

original = sys.argv[1]
output = sys.argv[2]

os.rename(original, output)
Run Code Online (Sandbox Code Playgroud)

但是,当已经存在具有该目标名称的文件时,我的代码只显示了此错误.

  os.rename<original, output>
WindowsError: [Error 183] Cannot create a file when that file already exists
Run Code Online (Sandbox Code Playgroud)

我应该做什么修复?

python rename file-rename python-2.7

13
推荐指数
2
解决办法
2万
查看次数

使用stat来检查文件在C中是否可执行

对于家庭作业,我必须编写一个C程序,它必须做的一件事就是检查文件是否存在以及它是否可由所有者执行.

使用(stat(path[j], &sb) >= 0我能够查看路径[j]指示的文件是否存在.

我查看了man page,stackoverflow上的很多问题和答案,以及几个网站,但我无法完全理解如何使用stat检查文件是否可执行.我认为它会很简单,((stat(path[j], &sb) >= 0) && (sb.st_mode > 0) && (S_IEXEC)但据我测试它,它似乎忽略了这些文件不可执行的事实.

我认为也许统计数据不像我认为的那样有效.假设我使用stat,我该怎么办呢?

c stat

11
推荐指数
1
解决办法
2万
查看次数

获得完整的争论路径

如何编写接受文件作为参数的Python脚本并打印其完整路径?

例如

~/.bin/python$ ls
./        ../        fileFinder.py        test.md
~/.bin/python$ py fileFinder.py test.md
/Users/theonlygusti/.bin/python/test.md
~/.bin/python$ py fileFinder.py /Users/theonlygusti/Documents/Online/theonlygusti.github.io/index.html
/Users/theonlygusti/Documents/Online/theonlygusti.github.io/index.html
Run Code Online (Sandbox Code Playgroud)

因此,它应该找到相对文件的绝对路径test.md,以及通过绝对路径给出的文件的绝对路径/Users/theonlygusti/Downloads/example.txt.

我怎样才能制作上面的剧本?

python directory file

11
推荐指数
1
解决办法
1923
查看次数

R测试文件是否存在,而不是目录

我有一个R脚本,它接受一个文件作为输入,我想要一个通用的方法来知道输入是一个存在的文件,而不是一个目录.

在Python中,您可以这样做:如何使用Python检查文件是否存在?,但我很难在R中找到类似的东西.

假设file.txt实际存在,我想要的是下面的内容:

input.good = "~/directory/file.txt"
input.bad = "~/directory/"

is.file(input.good) # should return TRUE
is.file(input.bad) #should return FALSE
Run Code Online (Sandbox Code Playgroud)

R有一个叫做file.exists()的东西,但这并不区分文件和目录.

directory r file

11
推荐指数
2
解决办法
7088
查看次数

检查文件是否存在,如果不存在则创建文件

我试了一下:赶上但它不起作用.我想我可以把它改成if语句,但不明白为什么这不起作用.这是我的第一个"真实"项目.我正在建立一个灌溉控制器,并创建一个灌溉时间表字典.第一个是我到目前为止的代码,第二个代码是我正在尝试的"测试".每次我运行代码时,它都会重写现有文件,当我想要它时,如果它已经存在则打开文件而不是再次写入.

# timer will first look for a saved file(dictionary) of already recorded
# irrigation times.  If no file exists it will create one.  

# irrigation timer which does scheduled irrigation as well as cyclic   irrigation for propagating plants.
# uses a lcd 1602 display
# will use up to 10 different valves

import time
import datetime
import threading
import RPi.GPIO as GPIO
from RPLCD import CharLCD # http://www.circuitbasics.com/raspberry-pi-lcd-set-up-and-programming-in-python/

GPIO.setmode(GPIO.BOARD)

# pinouts for lcd pins
lcd = CharLCD (cols=16, rows=2, …
Run Code Online (Sandbox Code Playgroud)

python python-3.x raspberry-pi raspberry-pi3

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

如何让Python检查文件是否存在,如果不存在则创建它?

如何让Python查看并查看是否有需要的文件以及是否有创建的文件?

基本上我希望Python查找我的文件名KEEP-IMPORTANT.txt,但是当我使用py2app它创建我的应用程序时它不起作用,因为它没有该文件.当我尝试制作文件时它不起作用(我认为因为python必须生成它).

我希望Python检查文件是否存在,如果它存在,那么它不会生成文件,否则它会生成.

python file py2app python-3.x

7
推荐指数
2
解决办法
2万
查看次数

Python中的文件测试?

我想使用Python 3.3.3来测试备份文件的存在.

像这样的东西:

if backup does not exist:
    create it
    write to backup

otherwise:
    run other procedures not related to backup file
Run Code Online (Sandbox Code Playgroud)

有什么建议?

python

7
推荐指数
1
解决办法
632
查看次数

如何检查 argv 是否引用 python2.7 中的现有文件?

我知道如何检查命令行上是否给出了所需的参数。但是,如何检查命令行上给定的参数是否实际上引用了我正在运行代码的文件夹中的现有文件?

我正在尝试合并此验证,以便通过跳过部分代码来节省时间,以防无法引用文件。

python sys argv python-2.7

7
推荐指数
1
解决办法
1475
查看次数

Python 3:以读取模式打开文件而不引发异常?

我正在尝试编写一段代码,每次运行 Python3 脚本时都会打开一个新文件。

我正在使用递增的数字构建文件名。

例如,以下是应生成的有效文件名的一些示例:

output_0.csv
output_1.csv
output_2.csv
output_3.csv
Run Code Online (Sandbox Code Playgroud)

下次运行脚本时,下一个要使用的文件名应该是output_4.csv.

在 C/C++ 中,我将按以下方式执行此操作:

  • 进入无限循环
  • 尝试以“读取”模式打开第一个文件名
  • 如果文件已打开,则增加文件名编号并重复
  • 如果文件未打开,则跳出循环并以“写入”模式重新打开文件

这似乎在 Python 3 中不起作用,因为在读取模式下打开不存在的文件会导致引发异常。

一种可能的解决方案是将打开的文件代码块移动到 try-catch 块内。但这似乎并不是一个特别优雅的解决方案。

这是我迄今为止在代码中尝试过的

# open a file to store output data
filename_base = "output"
filename_ext = "csv"
filename_number = 0

while True:
    filename_full = f"{filename_base}_{filename_number}.{filename_ext}"
    with open(filename_full, "r") as f:
        if f.closed:
            print(f"Writing data to {filename_full}")
            break
        else:
            print(f"File {filename_full} exists")
            filename_number += 1

with open(filename_full, "w") as f:
    pass
Run Code Online (Sandbox Code Playgroud)

如上所述,当尝试打开“读取”模式下不存在的文件时,此代码会崩溃。

python file-io python-3.x

6
推荐指数
2
解决办法
2291
查看次数