我已经在台式机上使用Python 3.7运行并测试了此代码,并试图使其在Android上运行。我已经安装了QPython3,并使用Pip控制台安装了Requests和BeautifulSoup4,但是遇到了一个新的错误,我不确定该如何解决,因为我不确定为什么在旁边看不到config.json。脚本。
我还没有尝试过太多,因为查找可能导致此问题的原因的细节对我来说是未知的,我早在2015年就了解到qpython的一些问题,其中包含绝对文件目录,但没有立即文件路径看起来是绝对的。
我使用的代码在这里: https://gist.github.com/Treeki/006a30d2f6e07213aa51
这正是我通过python徽标运行脚本后从控制台获得的信息。
脚本和配置均位于Qpython下的Scripts3文件夹中,该目录位于可通过手机存储器上的USB访问的目录中。
/data/user/0/org.qpython.qpy3/files/bin/qpython3-android5.sh /storage/emulated/0/qpython/scripts3/fa_notifier.py && exit
ripts3/fa_notifier.py && exit <
Configuration file not specified, defaulting to ./config.json
Traceback (most recent call last):
File "/storage/emulated/0/qpython/scripts3/fa_notifier.py", line 453, in <module>
main()
File "/storage/emulated/0/qpython/scripts3/fa_notifier.py", line 438, in main
with open(config_path, 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'config.json'
1|u0_a295@tbltecan:/ $
编辑: 好吧,我发现它大概是指向config.json的地方
在第一个if语句中将config_path更改为绝对地址,而不是'./config.json'
这清除了该错误,但是现在它只需要进行第一次轮询,然后说轮询失败了,没有特定的错误,所以我不确定自从它在Android上以来是否存在凭据或cookie的问题?
# Obtain and read the configuration file
if len(sys.argv) <= 1:
config_path = '/storage/emulated/0/qpython/scripts3/config.json'
print('Configuration file not specified, defaulting to ./config.json')
elif len(sys.argv) == 2:
config_path = sys.argv[1]
print('Reading configuration from %s' % config_path)
else:
print('Usage: python %s [config.json]' % sys.argv[0])
return
with open(config_path, 'r') as f:
raw_config = f.read()
try:
config = json.loads(raw_config)
except ValueError:
print('JSON parsing error while reading configuration!')
raise
# Work on it!
n = Notifier(config)
n.execute()```