FileNotFoundError!使用Python

问题描述

我能够连接到外部数据库,但是在尝试从结果生成二维码时却遇到此错误

import pymssql,pandas as pd,openpyxl,pyqrcode,os
QRCode(content=b'0001-87L58/1',error='H',version=2,mode='alphanumeric')
Traceback (most recent call last):
  File "C:/Users/MSE/PycharmProjects/qrcode_gen/CIN_from_Server.py",line 25,in <module>
    qr.eps(PIN +'.eps',scale=2.5,module_color='#36C')
  File "C:\Users\MSE\PycharmProjects\Python4everyone\venv\lib\site-packages\pyqrcode\__init__.py",line 624,in eps
    background,quiet_zone)
  File "C:\Users\MSE\PycharmProjects\Python4everyone\venv\lib\site-packages\pyqrcode\builder.py",line 1461,in _eps
    f,autoclose = _get_writable(file_or_path,'w')
  File "C:\Users\MSE\PycharmProjects\Python4everyone\venv\lib\site-packages\pyqrcode\builder.py",line 924,in _get_writable
    stream_or_path = open(stream_or_path,mode)
FileNotFoundError: [Errno 2] No such file or directory: '0001-87L58/1.eps' 

我的代码

import pymssql,os

#Connecting to Db using Pymssql library
host = "myHost"
username = "mine"
password = "mine#$"
database = "external"

conn = pymssql.connect(host,username,password,database)  #connecting string
read_query = " Select * FROM dbo.M_tblPIN WHERE TI = 'A01' "

mycursor = conn.cursor()
mycursor.execute(read_query)
result = mycursor.fetchall()
for item in result:
    PIN = item[12]
    # using pyqrcode to create the barcode
    qr = pyqrcode.create(PIN)
    print(qr)
    qr.eps(PIN + '.eps',scale=5,module_color='#36C')
    qr.eps(PIN + '.eps',background='#eee')

如何生成qrcode并将其保存在外部目录中?

解决方法

回溯中的最后一行是这样的:

FileNotFoundError:[错误2]没有这样的文件或目录:'0001-87L58 / 1.eps'

因此item[12]不仅包含文件名,还包含目录名(不存在)。因此,Python无法将文件写入不存在的目录,并引发异常。请先创建目录,或者确保您位于子目录所在的目录中。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...